安裝 Mysql ( centos 7 )
( 如果有就先卸載 rpm -qa|grep mysql 讲衫,刪除對(duì)應(yīng)的包之剧,比如 rpm -e mysql57-community-release-el7-8.noarch)
下載mysql源安裝包
(centos 7下載這個(gè))
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安裝mysql源
(centos 7)
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
驗(yàn)證源安裝是否成功
yum repolist enabled | grep "mysql.*-community.*"
設(shè)置默認(rèn)需要安裝的mysql版本(如果安裝5.7可以忽略本步驟)
可以修改vim /etc/yum.repos.d/mysql-community.repo源掸掸,改變默認(rèn)安裝的mysql版本欺税。比如要安裝5.6版本,就將5.7源的enabled=1改成enabled=0晚凿。然后再將5.6源的enabled=0改成enabled=1即可。
安裝
yum install mysql-community-server
啟動(dòng) mysql
systemctl start mysqld
#停止systemctl stop mysqld
查看狀態(tài)
systemctl status mysqld
設(shè)置開機(jī)啟動(dòng)
systemctl enable mysqld
systemctl daemon-reload
修改root本地登錄密碼
mysql安裝完成之后应役,在/var/log/mysqld.log文件中給root生成了一個(gè)默認(rèn)密碼。
通過下面的方式找到root默認(rèn)密碼(有時(shí)候生成的密碼是特殊字符院崇,mysql -uroot -p 會(huì)出問題袍祖,比如生成的密碼 sX;qQZ.L;6Ml 那就用轉(zhuǎn)義 sX\;qQZ.L\;6Ml 即可)
shell>grep 'temporary password' /var/log/mysqld.log
# 2017-05-23T04:53:37.967825Z 1 [Note] A temporary password is generated for root@localhost: wztxYpby+2Gr
然后登錄mysql進(jìn)行修改: 注意 密碼有策略 大小寫數(shù)字和特殊字符 否則報(bào)錯(cuò)
shell> mysql -uroot -pwztxYpby+2Gr(可能需要重啟先盲泛,因?yàn)榭赡軙?huì)報(bào)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) )
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'ShangLi@2017';
增加遠(yuǎn)程登錄用戶
mysql> -uroot -pscLRK@DBadmin2017
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'JXgx@2017' WITH GRANT OPTION;
增加開發(fā)人員使用賬號(hào)
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' IDENTIFIED BY 'ShangLi@2017' WITH GRANT OPTION;
配置編碼和優(yōu)化配置 vim /etc/my.cnf 把下面的復(fù)制 覆蓋 my.cnf
[client]
port=1113
default-character-set=utf8
[mysqld]
port=1113
character_set_server=utf8
init_connect='SET NAMES utf8'
collation-server=utf8_general_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#優(yōu)化參數(shù)
#設(shè)置最大連接數(shù) 默認(rèn)500
max_connections=1024
#臨時(shí)表分配的內(nèi)存 默認(rèn)16M
tmp_table_size=200M
#定義了用戶可以創(chuàng)建的內(nèi)存表(memory table)的大小。這個(gè)值用來計(jì)算內(nèi)存表的最大行數(shù)值柑营。這個(gè)變量支持動(dòng)態(tài)改變 ,默認(rèn)16M
max_heap_table_size=500M
#一個(gè)事務(wù),在沒有提交的時(shí)候官套,產(chǎn)生的日志,記錄到Cache中奶赔;等到事務(wù)提交需要提交的時(shí)候杠氢,則把日志持久化到磁盤。默認(rèn)binlog_cache_size大小32K
binlog_cache_size = 1M
#事務(wù)隔離級(jí)別 默認(rèn) REPEATABLE-READ 總共4種 READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction-isolation=REPEATABLE-READ
#數(shù)據(jù)庫字段名名是否區(qū)分大小寫 0不區(qū)分 1 區(qū)分
lower_case_table_names = 1
#默認(rèn)mysql對(duì)很多聯(lián)合查詢會(huì)報(bào)警绞旅,可以修改sql_mode sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
group_concat_max_len=102400
重啟服務(wù)器
用新端口鏈接 ssh 用新密碼鏈接數(shù)據(jù)庫
select version();
show variables like '%character%';
centos6.5 安裝mysql 5.7
( 如果有就先卸載 yum remove mysql mysql-* 然后用 find / -name mysql 把所有帶mysql字樣的全部刪除)
下載mysql源安裝包
(centos 6.5 下載這個(gè) 注意 el X-y后面的數(shù)字 必須和操作系統(tǒng)版本一致R虮I装!)
shell> wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
安裝mysql源
(centos 6.5 )
shell> yum install mysql-community-release-el6-5.noarch.rpm
驗(yàn)證源安裝是否成功
yum repolist enabled | grep "mysql.*-community.*"
設(shè)置默認(rèn)需要安裝的mysql版本( centos6.5 默認(rèn)安裝5.6, 如果要安裝5.7 這里要配置 )
可以修改vim /etc/yum.repos.d/mysql-community.repo源卫旱,
改變默認(rèn)安裝的mysql版本顾翼。比如要安裝5.6版本蒜撮,將5.7源的enabled=1改成enabled=0。
然后再將5.6源的enabled=0改成enabled=1即可取逾。
安裝mysql
yum install mysql-community-server
啟動(dòng)Mysql
用 service mysqld status可以看到目前Msyql是停用狀態(tài))
service mysqld start
查看root 默認(rèn)密碼(初始化密碼在mysql.log文件里砾隅,所以要快速找到密碼 (有時(shí)候生成的密碼是特殊字符债蜜,mysql -uroot -p 會(huì)出問題, 比如生成的密碼 sX;qQZ.L;6Ml 那就用轉(zhuǎn)義 mysql -uroot -psX\;qQZ.L\;6Ml 即可)
grep "password" /var/log/mysqld.log
比如密碼為: AI1LV#vwWh8A
修改密碼
mysql> -uroot -pAI1LV#vwWh8A
mysql> SET PASSWORD = PASSWORD('woaibeijin@TIAN09');
提交
flush privileges;
使root能在任何地方訪問mysql數(shù)據(jù)庫
grant all privileges on *.* to root@"%" identified by "woaibeijin@TIAN09";
剩余參考上面的5.7