Home  >  Article  >  Database  >  mysql 5.7.14 installation and configuration code sharing_MySQL

mysql 5.7.14 installation and configuration code sharing_MySQL

WBOY
WBOYOriginal
2016-10-09 08:33:431331browse

This article records the installation and configuration code of mysql 5.7.14. The specific content is as follows

OS: CentOS 6.6
DB: Mysql 5.7.14

1. Download mysql

cd /tools

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz

2. Create a directory for the MySQL binary decompression file

mkdir -p /opt/mysql  

[root@zw-test-db mysql]# cd /tools/ 
[root@zw-test-db tools]# ll -l mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 
-rw-r--r-- 1 root root 642694570 Aug 29 15:02 mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 

3. Unzip to the /opt/mysql directory

[root@zw-test-db tools]# cd /opt/mysql/ 
[root@zw-test-db mysql]# tar -zxvf /tools/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 


[root@zw-test-db mysql]# mv mysql-5.7.14-linux-glibc2.5-x86_64/ mysql-5.7.14 
[root@zw-test-db mysql]# ll 
drwxr-xr-x 9 7161 31415 4096 Jul 12 21:03 mysql-5.7.14 

4. Create a soft connection to /usr/local

[root@zw-test-db mysql]# cd /usr/local/ 
[root@zw-test-db local]# ls 
bin etc games include lib lib64 libexec redis-3.2.2 sbin share src 
[root@zw-test-db local]# ln -s /opt/mysql/mysql-5.7.14 /usr/local/mysql 


[root@zw-test-db local]# ll mysql 
lrwxrwxrwx 1 root root 23 Aug 31 17:36 mysql -> /opt/mysql/mysql-5.7.14 
[root@zw-test-db local]# 

5. Create user

[root@zw-test-db /]# groupadd mysql 
[root@zw-test-db /]# useradd -M -g mysql -s /sbin/nologin -d /usr/local/mysql mysql 

-s nologin cannot log in without shell

6. Create a basic directory based on the configuration file

mkdir /data/mysql 
mkdir /data/mysql/mysql_3306 
cd /data/mysql/mysql_3306/ 
mkdir data 
mkdir logs 
mkdir tmp 
chown -R mysql:mysql /data/mysql/mysql3306 

7. Create the /etc/my.cnf configuration file (the process is omitted)

8. Initialization, the initialization of 5.7 will add a default password

[root@zw-test-db mysql]# cd /usr/local/mysql/ 
[root@zw-test-db mysql]# ./bin/mysqld --initialize 


[root@zw-test-db data]# pwd 
/data/mysql/mysql_3306/data 

### 下面是5.5, 5.6 初始化 
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql 

9. Check the error log to see if there are any errors

cd /data/mysql/mysql_3306/data 

[root@zw-test-db data]# vim error.log 
[root@zw-test-db data]# tail -f error.log 
2016-08-31T09:44:32.394657Z 0 [Note] Giving 0 client threads a chance to die gracefully 
2016-08-31T09:44:32.394680Z 0 [Note] Shutting down slave threads 
2016-08-31T09:44:32.394686Z 0 [Note] Forcefully disconnecting 0 remaining clients 
2016-08-31T09:44:32.415409Z 0 [Note] Binlog end 
2016-08-31T09:44:32.434217Z 0 [Note] InnoDB: FTS optimize thread exiting.
2016-08-31T09:44:32.434293Z 0 [Note] InnoDB: Starting shutdown... 
2016-08-31T09:44:32.534587Z 0 [Note] InnoDB: Dumping buffer pool(s) to /data/mysql/mysql_3306/data/ib_buffer_pool 
2016-08-31T09:44:32.534741Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 160831 17:44:32 
2016-08-31T09:44:34.308784Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2525428 
2016-08-31T09:44:34.308945Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1" 

10. View initialization password

[root@zw-test-db data]# grep password error.log

2016-08-31T09:44:21.172167Z 1 [Note] A temporary password is generated for root@localhost: 8aahkRkxfm%t

The password is: 8aahkRkxfm%t

11 Create a startup script

[root@zw-test-db data]# cd /usr/local/mysql/

[root@zw-test-db mysql]# cp support-files/mysql.server /etc/init.d/mysql
cp: overwrite `/etc/init.d/mysql'? y

12. Three ways to start mysql

Method 1:

root@zw-test-db bin]# ./mysqld_safe --user=mysql &
[1] 12455 
[root@zw-test-db bin]# 160830 15:18:01 mysqld_safe Logging to '/usr/local/mysql/data/zw-test-db.err'. 
160830 15:18:01 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 

Method 2:

[root@zw-test-db bin]# /etc/init.d/mysqld restart
Shutting down MySQL..160830 15:18:14 mysqld_safe mysqld from pid file /usr/local/mysql/data/zw-test-db.pid ended
               [ OK ]
 
Starting MySQL.           [ OK ] 
[1]+ Done     ./mysqld_safe --user=mysql 

Method 3:

[root@zw-test-db bin]# service mysqld restart 
Shutting down MySQL..          [ OK ]
Starting MySQL.           [ OK ] 
[root@zw-test-db bin]# 

13. Add environment variables

echo "export PATH=$PATH:/usr/local/mysql/bin" >> /root/.bash_profile

source /root/.bash_profile

14. Log in

[root@zw-test-db mysql]# mysql -u root -p 
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 3 
Server version: 5.7.14-log 


Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 


Oracle is a registered trademark of Oracle Corporation and/or its 
affiliates. Other names may be trademarks of their respective 
owners. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

root@localhost [(none)]>show databases; --提示要修改密码 
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 

15.Change password

root@localhost [(none)]>alter user user() identified by '123456'; 
Query OK, 0 rows affected (0.00 sec) 

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

root@localhost [(none)]>show databases;
+--------------------+ 
| Database   | 
+--------------------+ 
| information_schema | 
| mysql    | 
| performance_schema | 
| sys    | 
+--------------------+ 
4 rows in set (0.00 sec) 

You can view the database

16. Account security reinforcement is required before version 5.6. After 5 and 7, the test database is gone

delete from mysql.user where user!='root' or host!='localhost'; --删除非root用户,登陆主机不是localhost的账号 
flush privileges; 
alter user user() identified by '123456'; 
drop database test; 
truncate mysql.db;

The above is the entire content of this article. I hope it will be helpful to everyone’s study and I hope you will support me a lot.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn