從搭建環境到釋出線上專案的企業級流程之mysql的安裝與配置
一安裝:
1.centos 6.8 64位安裝
檢查是否已經安裝mysql:rpm -qa | grep mysql-server
使用阿里雲預設軟體源安裝:yum -y install mysql-server(mysql5.1.73)
2.macOS 安裝
使用homebrew安裝:brew install mysql(預設是最新版mysql5.7.19)
二配置:
1.centos 6.8 64位
預設配置檔案在/etc/my.cnf
在配置檔案中[mysqld]節點下新增:
character-set-server = utf8
在[mysql]節點下新增(如果沒有此節點,則手動建立):
default-character-set=utf8
使用命令:service mysqld start
進入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/share/mysql/charsets/ |
+--------------------------+----------------------------+
exit 退出
執行命令:chkconfig mysqld on 設定mysql自啟動 (centos7中使用 systemctl enable mysqld 設定mysql自啟動)
執行命令:chkconfig --list mysqld(如果2----5位都為啟動on狀態就是設定成功)
配置防火牆:
vim /etc/sysconfig/iptables
插入:-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
儲存退出。執行 service iptables restart 重啟防火牆
mysql -uroot 無密碼進入mysql
select user,host,password from mysql.user;檢視當前使用者
刪除匿名使用者:delete from mysql.user where user='';
修改root使用者密碼:
set password for [email protected] = password('yourpassword');
set password for [email protected] = password('yourpassword');
重新整理使以上操作生效:flush privileges;
退出並重新登陸:mysql -uroot -p 回車並輸入密碼(密碼不可見)
新增使用者:
insert into mysql.user(Host,User,Password) values("localhost","yourusername",password("yourpassword"));
新增資料庫:
create database `databasename` default character set utf8 collate utf8_general_ci;
給賬號開通外網所有許可權
grant all privileges on databasename.* to 'yourusername'@'%' identified by 'yourpassword';(這裡是給特定的資料庫開通了所有許可權,也可以單獨開通某些許可權,這裡不詳細敘述)
2.macOs配置:
啟動mysql:mysql.server start
編碼無須配置,預設為utf8
進入mysql
select host,user,authentication_string from mysql.user;檢視當前使用者(mysql5.7的password欄位改成了authentication_string)
刪除匿名使用者:delete from mysql.user where user='';
修改root使用者密碼:
set password for [email protected] = password('yourpassword');
set password for [email protected] = password('yourpassword');
重新整理使以上操作生效:flush privileges;
退出並重新登陸:mysql -uroot -p 回車並輸入密碼(密碼不可見)
踩坑記錄:
執行在mysql管理工具中執行sql檔案時中文資料變成亂碼:
發現把sql檔案中的set NAMES utf8 這一句刪除就行了。 (錯誤)
找到真正原因是新建連線時,編碼設定就為自動就好了,千萬不要手動選成utf-8