标签:
安装依赖包及mysql:
yum –y install perl libaio numactl
rpm -ivh MySQL-shared-5.6.30-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.30-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.30-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.30-1.el6.x86_64.rpm (需要/usr/bin/perl)
rpm -ivh MySQL-server-5.6.30-1.el6.x86_64.rpm (需要/usr/bin/perl、libaio.so.1、libnuma.so.1)
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
warning: user mysql does not exist - using root
warning: group mysql does not exist - using root
2016-05-16 18:31:25 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-05-16 18:31:25 0 [Note] /usr/sbin/mysqld (mysqld 5.6.30) starting as process 5934 ...
2016-05-16 18:31:25 5934 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-05-16 18:31:25 5934 [Note] InnoDB: The InnoDB memory heap is disabled
2016-05-16 18:31:25 5934 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-05-16 18:31:25 5934 [Note] InnoDB: Memory barrier is not used
2016-05-16 18:31:25 5934 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-05-16 18:31:25 5934 [Note] InnoDB: Using Linux native AIO
2016-05-16 18:31:25 5934 [Note] InnoDB: Using CPU crc32 instructions
2016-05-16 18:31:25 5934 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-05-16 18:31:25 5934 [Note] InnoDB: Completed initialization of buffer pool
2016-05-16 18:31:25 5934 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2016-05-16 18:31:25 5934 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2016-05-16 18:31:25 5934 [Note] InnoDB: Database physically writes the file full: wait...
2016-05-16 18:31:26 5934 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2016-05-16 18:31:26 5934 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2016-05-16 18:31:26 5934 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2016-05-16 18:31:26 5934 [Warning] InnoDB: New log files created, LSN=45781
2016-05-16 18:31:26 5934 [Note] InnoDB: Doublewrite buffer not found: creating new
2016-05-16 18:31:26 5934 [Note] InnoDB: Doublewrite buffer created
2016-05-16 18:31:26 5934 [Note] InnoDB: 128 rollback segment(s) are active.
2016-05-16 18:31:26 5934 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-05-16 18:31:26 5934 [Note] InnoDB: Foreign key constraint system tables created
2016-05-16 18:31:26 5934 [Note] InnoDB: Creating tablespace and datafile system tables.
2016-05-16 18:31:26 5934 [Note] InnoDB: Tablespace and datafile system tables created.
2016-05-16 18:31:26 5934 [Note] InnoDB: Waiting for purge to start
2016-05-16 18:31:26 5934 [Note] InnoDB: 5.6.30 started; log sequence number 0
A random root password has been set. You will find it in ‘/root/.mysql_secret‘.
2016-05-16 18:31:27 5934 [Note] Binlog end
2016-05-16 18:31:27 5934 [Note] InnoDB: FTS optimize thread exiting.
2016-05-16 18:31:27 5934 [Note] InnoDB: Starting shutdown...
2016-05-16 18:31:28 5934 [Note] InnoDB: Shutdown completed; log sequence number 1625977
2016-05-16 18:31:28 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-05-16 18:31:28 0 [Note] /usr/sbin/mysqld (mysqld 5.6.30) starting as process 5956 ...
2016-05-16 18:31:28 5956 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-05-16 18:31:28 5956 [Note] InnoDB: The InnoDB memory heap is disabled
2016-05-16 18:31:28 5956 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-05-16 18:31:28 5956 [Note] InnoDB: Memory barrier is not used
2016-05-16 18:31:28 5956 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-05-16 18:31:28 5956 [Note] InnoDB: Using Linux native AIO
2016-05-16 18:31:28 5956 [Note] InnoDB: Using CPU crc32 instructions
2016-05-16 18:31:28 5956 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-05-16 18:31:28 5956 [Note] InnoDB: Completed initialization of buffer pool
2016-05-16 18:31:28 5956 [Note] InnoDB: Highest supported file format is Barracuda.
2016-05-16 18:31:28 5956 [Note] InnoDB: 128 rollback segment(s) are active.
2016-05-16 18:31:28 5956 [Note] InnoDB: Waiting for purge to start
2016-05-16 18:31:28 5956 [Note] InnoDB: 5.6.30 started; log sequence number 1625977
2016-05-16 18:31:28 5956 [Note] Binlog end
2016-05-16 18:31:28 5956 [Note] InnoDB: FTS optimize thread exiting.
2016-05-16 18:31:28 5956 [Note] InnoDB: Starting shutdown...
2016-05-16 18:31:30 5956 [Note] InnoDB: Shutdown completed; log sequence number 1625987
A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in ‘/root/.mysql_secret‘.
You must change that password on your first connect,
no other statement but ‘SET PASSWORD‘ will be accepted.
See the manual for the semantics of the ‘password expired‘ flag.
Also, the account for the anonymous user has been removed.
In addition, you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test database.
This is strongly recommended for production servers.
See the manual for more instructions.
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
New default config file was created as /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
启动mysql:
service mysql start
查看缺省密码:
cat /root/.mysql_secret
# The random password set for the root user at Mon May 16 18:31:26 2016 (local time): Uc33BRidiw2E_9us
lR_i88Lp6EgM18FP
设置root密码:
mysql - u root
mysql>set password=password(‘rootfllg’);
mysql>flush privileges;
mysql>exit;
/usr/bin/mysqladmin -u root password ‘new-password‘
/usr/bin/mysqladmin -u root -h wiki password ‘new-password‘
测试mysql守护进程:
cd /usr/share/mysql-test
perl mysql-test-run.pl
安全加固:
/usr/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we‘ll need the current
password for the root user. If you‘ve just installed MySQL, and
you haven‘t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): Uc33BRidiw2E_9us
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
You already have a root password set, so you can safely answer ‘n‘.
Change the root password? [Y/n] Y
New password:su********
Re-enter new password: su********
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from ‘localhost‘. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y (此处有bug,把root登录权限全删除了,因为缺省root用户就只能通过localhost访问)
... Success!
By default, MySQL comes with a database named ‘test‘ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
All done! If you‘ve completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
Cleaning up...
移动mysql数据目录:
service mysql stop
cd /var/lib/mysql
mv mysql/ /data/mysql/
修改配置文件:
vi /usr/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
datadir = /data/mysql/
# port = .....
# server_id = .....
socket = /data/mysql/mysql.sock
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
启动mysql服务:
service mysql start
跳过权限控制,以管理员身份登录mysql:
service mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql
mysql>
查看用户权限:
mysql -uroot -p
mysql>select host,user from user where user="root";
mysql>select host,user,password from user;
忘记root密码,恢复步骤:
service mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot
mysql>update mysql.user set password=password(‘mypassword’) where
user=’root’;
mysql>flush privileges;
mysql>quit
service mysql start
mysql –uroot –p
当有其他有权限用户可以登录mysql时,允许root用户远程访问:
mysql –u username
mysql>update mysql.user set
password=password(“new_password”) where user=’root’and host=’localhost’;
mysql> grant all on *.* to root@‘localhost‘ identified by ‘yourpassword‘;
mysql> grant all on *.* to root@‘%‘ identified by ‘yourpassword‘;
mysql>flush privileges;
mysql>exit;
如果新装好的mysql执行安全加固脚本mysql_secure_installation,将导致user表被情况,root用户从本机也无法登录mysql。只能重装mysql,重装步骤如下:
1、卸载mysql包
rpm –qa | grep MySQL
MySQL-shared-compat-5.6.30-1.el6.x86_64
MySQL-client-5.6.30-1.el6.x86_64
MySQL-server-5.6.30-1.el6.x86_64
MySQL-shared-5.6.30-1.el6.x86_64
MySQL-devel-5.6.30-1.el6.x86_64
rpm –e MySQL-server-5.6.30-1.el6.x86_64
2、删除相关文件
rm -rf /var/lib/mysql/mysql (删除数据文件)
rm -f /root/.mysql_secure (删除缺省root密码文件,以便rpm包安装时重新生成缺省密码,即便已经改过root密码)
3、重新安装mysql
rpm –ivh MySQL-server-5.6.30-1.el6.x86_64.rpm
4、修改root密码
service mysql start
cat /root/.mysql_secure
mysql -uroot –p
mysql>set password=password(‘password’);
标签:
原文地址:http://www.cnblogs.com/flyback/p/5839920.html