CentOSインストールmysqlの詳細手順


MySQL5.7ダウンロード先:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-el7-x86_64.tar.gz
1.システムに付属しているMariadbまたはMySQLを削除
#       Mariadb
[root@localhost ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
 
#  etc    my.cnf  ,          
[root@localhost soft]# rm /etc/my.cnf
rm:     "/etc/my.cnf":          
 
#  mysql    
[root@localhost ~]# rpm -qa | grep mysql
 
#  mysql        ,    
[root@localhost ~]# cat /etc/group | grep mysql
[root@localhost ~]#  cat /etc/passwd | grep mysql

2.mysqlユーザー、ユーザーグループの新規作成

#  mysql   
[root@localhost ~]# groupadd mysql
#        mysql      mysql   (   mysql     ,        )
[root@localhost ~]# useradd -g mysql mysql
#  password(mysql        ,      )
[root@localhost soft]# passwd mysql
     mysql     。
     :
         :
passwd:               。

3.新規データディレクトリ
# home   data      
[root@localhost ~]# cd /home
[root@localhost home]# mkdir mysqldata
#    、 
[root@localhost home]# chown -R mysql:mysql mysqldata

4.プロファイルの変更
etcの下にプロファイルmyを新規作成します.cnf
my.cnfリファレンス構成:
[mysql]
default-character-set=utf8
[mysqld]
skip-name-resolve
port = 3306 
#      ,mysql     
basedir=/usr/local/mysql
#      ,mysql      
datadir=/home/mysqldata
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=16M

#log-bin=/data/mysql/mysql57/binlog
log-bin=OFF
binlog-format=ROW
server-id=1

#      ,   ,   mysql     
#skip-grant-tables

権限の設定:
[root@localhost local]# chown 777 /etc/my.cnf

5.ファイルを解凍する
ダウンロードした圧縮ファイルをサーバーにアップロードして、具体的なディレクトリは自分で設定することができて、私のここは更にhomeディレクトリの下でソフトウェアディレクトリを新設して保存します
#          
[root@localhost soft]# pwd
/home/soft
#   /usr/local/
[root@localhost soft]# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost soft]# cd /usr/local/
#    mysql
[root@localhost local]# mv mysql-5.7.21-linux-glibc2.12-x86_64/ mysql

6.mysqlが属するユーザーグループを変更し、mysqlを初期化する
[root@localhost local]# chown -R mysql:mysql /usr/local/mysql/
[root@localhost local]# cd mysql/bin
[root@localhost bin]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysqldata/
###                        
[root@localhost bin]# ./mysql_install_db --no-defaults --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysqldata/
2019-10-18 09:17:08 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2019-10-18 09:17:12 [WARNING] The bootstrap log isn't empty:
2019-10-18 09:17:12 [WARNING] 2019-10-18T01:17:08.767197Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2019-10-18T01:17:08.767839Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5010)
2019-10-18T01:17:08.767845Z 0 [Warning] Changed limits: max_connections: 214 (requested 1000)
2019-10-18T01:17:08.767847Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 2000)

 7.ファイアウォールの設定
#            ,       
[root@localhost bin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since   2019-10-15 16:20:16 CST; 2 days ago
     Docs: man:firewalld(1)
 Main PID: 1223 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─1223 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
 
10  15 16:20:15 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
10  15 16:20:16 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
#        ,   systemctl start firewalld     ,           。
[root@localhost bin]# systemctl start firewalld
#    
[root@localhost bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
#      
[root@localhost bin]# firewall-cmd --reload
success

8.グローバルビューmysqlサービスの設定
#          
[root@localhost support-files]# service mysql status
Redirecting to /bin/systemctl status mysql.service
Unit mysql.service could not be found.
#  
[root@localhost support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost support-files]# vi /etc/init.d/mysql
#    ,          
basedir=/usr/local/mysql
datadir=/home/mysqldata
#    
[root@localhost support-files]# chmod +x /etc/init.d/mysql
[root@localhost init.d]# service mysql status
 ERROR! MySQL is not running

9.mysqlユーザー初期化デフォルトパスワード、リモート接続初期化
#  mysql    
[root@localhost bin]# service mysql status
 ERROR! MySQL is not running
#  ,stop   
[root@localhost bin]# service mysql start
Starting MySQL. SUCCESS! 
[root@localhost bin]# service mysql status
 SUCCESS! MySQL running (7645)
##      
[root@localhost bin]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at 2019-10-18 09:17:08
1fNsl6LkQ+*/
#  
[root@localhost bin]# 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>set PASSWORD = PASSWORD('123456a');
###  
mysql>use mysql;
###        ,        
mysql>update user set authentication_string=PASSWORD("     ") where user='root';
##    ,      ,user         
mysql>update user set host='%' where user='root'; 
###  
mysql> flush privileges;

修正が無効な場合は、リフレッシュしてmysqlサービスを再起動します.
これで終了し、navicatを使用してリモート接続できます!
いくつかの基本コマンドが付属しています
show databases;//       
show tables;//     
use   ;//  
desc   ;//