linux下mysql 5.7.22 安裝


二進制安裝

1.下載https://dev.mysql.com/downloads/mysql/5.6.html#downloads

2.官方文檔https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

[root@localhost local]# yum install libaio
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.aliyun.com
Package libaio-0.3.109-13.el7.x86_64 already installed and latest version
Nothing to do
[root@localhost local]# pwd
/usr/local
[root@localhost local]# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz 
[root@localhost local]# ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql
[root@localhost local]groupadd mysql
[root@localhost local] useradd -r -g mysql -s /bin/false mysql
[root@localhost local] chown -R mysql:mysql mysql
[root@localhost local]# cd mysql
[root@localhost mysql]# ll
total 40
drwxr-xr-x.  2 root  root   4096 May 15 03:59 bin
-rw-r--r--.  1  7161 31415 17987 Mar  4 21:40 COPYING
drwxr-x---.  5 mysql mysql  4096 May 15 04:39 data
drwxr-xr-x.  2 root  root     55 May 15 03:59 docs
drwxr-xr-x.  3 root  root   4096 May 15 03:58 include
drwxr-xr-x.  5 root  root    229 May 15 03:59 lib
drwxr-xr-x.  4 root  root     30 May 15 03:59 man
-rw-r--r--.  1  7161 31415  2478 Mar  4 21:40 README
drwxr-xr-x. 28 root  root   4096 May 15 03:59 share
drwxr-xr-x.  2 root  root     90 May 15 03:59 support-files

[root@localhost mysql]bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  

[root@localhost mysql]# bin/mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/data
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# vi  /etc/my.cnf
[root@localhost mysql]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/
character_set_server = utf8 [root@localhost support-files]# cd .. [root@localhost mysql]# cd bin/ [root@localhost bin]# ./mysqld_safe --user=mysql & [1] 2942

  啟動完畢

登錄,修改root密碼  設置遠程登錄

[root@localhost mysql]# mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22

Copyright (c) 2000, 2018, 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.

mysql> set password=password("root");
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update  user  set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY '......' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;  
Query OK, 0 rows affected (0.00 sec)

mysql> exit;

  設置開機自啟

[root@localhost support-files]# cp mysql.server /etc/init.d/mysql
[root@localhost support-files]# chmod +x /etc/init.d/mysql
[root@localhost support-files]# chkconfig --add mysql 
[root@localhost support-files]# chkconfig --list mysql  

  

[root@localhost support-files]# service mysql stop

[root@localhost support-files]# service mysql start

配置環境變量:

[root@localhost local]# mysql -uroot -p
-bash: mysql: command not found
[root@localhost local]# ln -s /usr/local/mysql/bin/mysql /usr/bin
[root@localhost local]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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.

mysql> 

 mysql遠程登錄問題:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set host = '%' where user = 'root';
Query OK, 0 rows affected (0.11 sec)
Rows matched: 1  Changed: 0  Warnings: 0

mysql> select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | myuser        |
| %         | root          |
| %         | sec_user      |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | sec_user      |
+-----------+---------------+
6 rows in set (0.00 sec)

 

C:\Users\Administrator>mysql -u sec_user -h 192.168.222.13 -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2015, 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.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| securities_master  |
+--------------------+
2 rows in set (0.00 sec)

mysql> use securities_master;
Database changed
mysql> show tables;
+-----------------------------+
| Tables_in_securities_master |
+-----------------------------+
| daily_price                 |
| data_vendor                 |
| exchange                    |
| symbol                      |
+-----------------------------+
4 rows in set (0.00 sec)

mysql>

  

注意:1.mysql默認的字符集是Latin ,需要修改my.cnf   設置為utf-8,

 

[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

 

  

 

並且重啟,驗證

mysql> show variables like 'character_set_database';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| character_set_database | utf8  |
+------------------------+-------+
1 row in set (0.01 sec)

mysql> show variables like 'character%';
+--------------------------+----------------------------------------------------------------+
| Variable_name            | Value                                                          |
+--------------------------+----------------------------------------------------------------+
| character_set_client     | utf8                                                           |
| character_set_connection | utf8                                                           |
| character_set_database   | utf8                                                           |
| character_set_filesystem | binary                                                         |
| character_set_results    | utf8                                                           |
| character_set_server     | utf8                                                           |
| character_set_system     | utf8                                                           |
| character_sets_dir       | /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64/share/charsets/ |
+--------------------------+----------------------------------------------------------------+

2.開機啟動關閉防火牆 

    Centos7的防火牆用firewalld.service,而不是iptable……

    systemctl stop firewalld.service

    systemctl disable firewalld.service

3.mysql創建用戶

1)MySQL創建新用戶以及ERROR 1396 (HY000)問題解決 

Assume the user is there, so drop the user 

After deleting the user, there is need to flush the mysql privileges 
Now create the user.

flush privileges;(刷新系統權限表)

每次建完用戶后執行flush privileges命令

刪除用戶 drop user XX;

4.忘記密碼進行更改

1)、關閉mysql

    service mysqld stop   //linux下使用   

    net stop mysql    //window下使用 

2)、屏蔽權限
    mysqld_safe --skip-grant-table //linux下使用

    mysqld --skip-grant-table  //window下使用

3.)新開一個窗口進行密碼修改

4.存在空密碼新安裝的

1)select host,user,password from user;查看是否空密碼

2).關閉mysql
   # service mysqld stop

3).屏蔽權限
   # mysqld_safe --skip-grant-table

4)新開起一個終端輸入
   # mysql -u root mysql
   mysql> delete from user where USER='';  //刪除空密碼
   mysql> FLUSH PRIVILEGES;
   mysql> \q

參考文檔:

https://blog.csdn.net/qq_37995908/article/details/79092363

https://blog.csdn.net/ctypyb2002/article/details/79757070

https://blog.csdn.net/mengfei86/article/details/51189624

創建用戶和授權


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM