# 下載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
shell> yum install mysql-community-server
shell> systemctl start mysqld
查看MySQL的啓動狀態shell
shell> systemctl status mysqld
四、開機啓動數據庫
shell> systemctl enable mysqld shell> systemctl daemon-reload
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是你的新密碼
第一種方法編碼
//登陸數據庫 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端口的。能夠去阿里雲的控制檯修改網絡配置。
查看當前的字符編碼
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;