centos7 配置mysql

 

1.配置yum源

# 下載mysql源安裝包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安裝mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

檢查mysql源是否安裝成功mysql

shell> yum repolist enabled | grep "mysql.*-community.*"


看到上圖所示表示安裝成功sql

2.安裝mysql

shell> yum install mysql-community-server

 

三、啓動MySQL服務

shell> systemctl start mysqld

查看MySQL的啓動狀態shell

shell> systemctl status mysqld

四、開機啓動數據庫

shell> systemctl enable mysqld
shell> systemctl daemon-reload

 

五、修改root默認密碼

mysql安裝完成以後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。 
查看默認密碼vim

shell> grep 'temporary password' /var/log/mysqld.log

 
其中 dX&Je9aNGofx 就是個人默認密碼服務器

用默認密碼登陸網絡

shell> mysql -uroot -p
mysql> Enter password: dX&Je9aNGofx

修改默認密碼阿里雲

 

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 0     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

mysql> set global validate_password_policy=0;  
Query OK, 0 rows affected (0.05 sec)  
   
mysql> set global validate_password_mixed_case_count=0;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> set global validate_password_number_count=3;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> set global validate_password_special_char_count=0;  
Query OK, 0 rows affected (0.00 sec)  
  
mysql> set global validate_password_length=3;  
Query OK, 0 rows affected (0.00 sec)  
#更改密碼策略 使用簡單密碼

mysql> SET PASSWORD = PASSWORD('root');
# 上面的root是你的新密碼

6.容許root遠程訪問mysql

第一種方法編碼

//登陸數據庫
  mysql> use mysql; 
  //%爲全部ip均可以遠程訪問
  mysql> update user set host = '%' where user = 'root';  
   //或直接添加一條語句也行     
   mysql> insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
  //查看一下修改
   mysql> select host, user from user;    
   //推送設置到內存或重啓服務器也行
  mysql>FLUSH PRIVILEGES;

第二種方法 spa

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
mysql> flush privileges;

第一句中」%」表示任何主機均可以遠程登陸到該服務器上訪問。若是要限制只有某臺機器能夠訪問,將其換成相應的IP便可,如: 
GRANT ALL PRIVILEGES ON . TO root@」172.168.193.25」 IDENTIFIED BY 「123@asdf」; 
123@asdf是登陸密碼。 
第二句表示從mysql數據庫的grant表中從新加載權限數據。由於MySQL把權限都放在了cache中,因此在作完更改後須要從新加載。

注意

1.具體生產環境根據本身的配置須要再進行配置。 
2.阿里云云服務器若是MySQL配置了遠程訪問仍是沒法訪問,多是阿里雲默認是不開放3306端口的。能夠去阿里雲的控制檯修改網絡配置。

7.修改字符集編碼 UTF-8

查看當前的字符編碼

show variables like 'char%'

檢測是否都是utf-8(filesystem除外),若是不是就得改,例如這個character_set_server通常是拉丁編碼 
修改編碼

//停數據庫
systemctl stop mysqld

//進入 my.cnf 文件,通常是在etc路徑下
vim /etc/my.cnf
//加入要修改的字符集 修改完:wq退出
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加: ps。我沒找到這個
default-character-set=utf8

//重啓數據庫
systemctl start mysqld
#看一眼是否是utf8
show variables like 'char%'

#改變編碼
mysql> alter database qwe666 CHARACTER SET utf8;
相關文章
相關標籤/搜索