1. 程式人生 > >linux系統centOS 7安裝 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

linux系統centOS 7安裝 mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

#解除安裝系統自帶的Mariadb
[[email protected] local]# rpm -qa|grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[[email protected] local]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

#刪除etc目錄下的my.cnf檔案
[[email protected] local]# rm /etc/my.cnf
rm: 無法刪除"/etc/my.cnf": 沒有那個檔案或目錄

#檢查mysql是否存在
[[email protected]

local]# rpm -qa | grep mysql
[[email protected] local]# 

#檢查mysql組和使用者是否存在,如無建立
[[email protected] local]# cat /etc/group | grep mysql
[[email protected] local]# cat /etc/passwd | grep mysql

#建立mysql使用者組
[[email protected] local]# groupadd mysql
#建立一個使用者名稱為mysql的使用者並加入mysql使用者組
[[email protected]
local]# useradd -g mysql mysql

#制定password 為**************
[[email protected] local]# passwd mysql
更改使用者 mysql 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。

解壓到指定資料夾下
tar -vxzf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.21-linux-glibc2.12-x86_64/ /usr/local/mysql/

#更改所屬的組和使用者
[[email protected]
local]# chown -R mysql mysql/
[[email protected] local]# chgrp -R mysql mysql/
#在mysql資料夾下建立  資料庫資料儲存目錄  data
[[email protected] local]# cd mysql/
[[email protected] mysql]# mkdir data
[[email protected] mysql]# chown -R mysql:mysql data

#在etc下新建配置檔案my.cnf,並在該檔案內新增以下配置
[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8 
[mysqld]
skip-name-resolve
#設定3306埠
port = 3306 
# 設定mysql的安裝目錄
basedir=/usr/local/mysql
# 設定mysql資料庫的資料的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連線數
max_connections=200
# 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=16M

#安裝和初始化
[[email protected] mysql]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

2018-03-07 20:15:37 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2018-03-07 20:15:41 [WARNING] The bootstrap log isn't empty:
2018-03-07 20:15:41 [WARNING] 2018-03-07T12:15:38.240438Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2018-03-07T12:15:38.281730Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2018-03-07T12:15:38.281756Z 0 [Warning] Changed limits: table_open_cache: 407 (requested 2000)

[[email protected] mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld
#將指令碼檔案設定成可執行檔案
[[email protected] mysql]# chown 777 /etc/my.cnf
[[email protected] mysql]# chmod a+x /etc/init.d/mysqld

[[email protected] mysql]# /etc/init.d/mysqld restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
. SUCCESS! 
[[email protected] mysql]# killall mysqld
[[email protected] mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 
[[email protected] mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
#設定開機啟動
[[email protected] mysql]# chkconfig --level 35 mysqld on
[[email protected] mysql]# chkconfig --list mysqld
注意:該輸出結果只顯示 SysV 服務,並不包含原生 systemd 服務。SysV 配置資料可能被原生 systemd 配置覆蓋。 
      如果您想列出 systemd 服務,請執行 'systemctl list-unit-files'。
      欲檢視對特定 target 啟用的服務請執行
      'systemctl list-dependencies [target]'。

mysqld             0:關    1:關    2:開    3:開    4:開    5:開    6:關

[[email protected] mysql]# chmod +x /etc/rc.d/init.d/mysqld
[[email protected] mysql]# chkconfig --add mysqld
[[email protected] mysql]# chkconfig --list mysqld
[[email protected] mysql]# service mysqld status
 SUCCESS! MySQL running (6272)
#編輯  vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
[[email protected] mysql]# source /etc/profile
#獲得初始密碼
[[email protected] bin]# cat /root/.mysql_secret 
# Password set for user '[email protected]' at 2018-03-07 20:15:37 
hgfs1Z1uMw2=

#修改密碼
[[email protected] bin]# mysql -uroot -p

[[email protected] init.d]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
#先關閉mysql
[[email protected] init.d]# ./mysqld stop
Shutting down MySQL.. SUCCESS! 
#使用安全模式登陸,跳過密碼驗證
[[email protected] init.d]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking&
[1] 7059
[[email protected] init.d]# 2018-03-07T12:50:12.826995Z mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
2018-03-07T12:50:12.861526Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
[[email protected] init.d]# mysql -uroot  mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21 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> update user set authentication_string = password('**************') where user = 'root' and Host = 'localhost'
    -> ;
Query OK, 1 row affected, 1 warning (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 1

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

mysql> exit
Bye
[[email protected] init.d]# ls
functions  mysqld  netconsole  network  README
[[email protected] init.d]# ./mysqld 
Usage: mysqld  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]
[[email protected] init.d]# ./mysqld restart
Shutting down MySQL..2018-03-07T12:54:40.379190Z mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended
 SUCCESS! 
Starting MySQL. SUCCESS! 
[1]+  完成                  mysqld_safe --user=mysql --skip-grant-tables --skip-networking
[[email protected] init.d]# 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.21

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> show databases
    -> ;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set password = password ('**************');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show databases
    -> ;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit;
Bye
[[email protected] init.d]# ps -ef|grep mysql
root       7407      1  0 20:54 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
mysql      7608   7407  0 20:54 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid --port=3306
root       7660   5149  0 20:57 pts/0    00:00:00 grep --color=auto mysql
[[email protected] init.d]# ls
functions  mysqld  netconsole  network  README
[[email protected] init.d]# ./mysqld stop
Shutting down MySQL.. SUCCESS! 
[[email protected] init.d]# ps -ef|grep mysql
root       7696   5149  0 20:57 pts/0    00:00:00 grep --color=auto mysql
[[email protected] init.d]# reboot
PolicyKit daemon disconnected from the bus.
We are no longer a registered authentication agent.
Connection closing...Socket close.
 

Connection closed by foreign host.

 

#新增遠端訪問許可權
[[email protected] ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21 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> 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> select host,user from user;
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| %         | root          |
| localhost | mysql.session |
| localhost | mysql.sys     |
+-----------+---------------+
3 rows in set (0.00 sec)
#這裡 @‘%’ 表示在任何主機都可以登入
mysql> create user 'xxx'@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)
#重啟mysql
[[email protected] init.d]# ./mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
#為了在任何目錄下可以登入mysql
[[email protected] init.d]# ln -s /usr/local/mysql/bin/mysql   /usr/bin/mysql





 

原文網址: https://blog.csdn.net/wangshuminjava/article/details/80873997