安装 Mysql ( centos 7 )
( 如果有就先卸载 rpm -qa|grep mysql ,删除对应的包,比如 rpm -e mysql57-community-release-el7-8.noarch)
下载mysql源安装包
(centos 7下载这个)
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
验证源安装是否成功
yum repolist enabled | grep "mysql.*-community.*"
设置默认需要安装的mysql版本(如果安装5.7可以忽略本步骤)
可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,就将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
安装
yum install mysql-community-server
启动 mysql
systemctl start mysqld
#停止systemctl stop mysqld
查看状态
systemctl status mysqld
设置开机启动
systemctl enable mysqld
systemctl daemon-reload
修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
通过下面的方式找到root默认密码(有时候生成的密码是特殊字符,mysql -uroot -p 会出问题,比如生成的密码 sX;qQZ.L;6Ml 那就用转义 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进行修改: 注意 密码有策略 大小写数字和特殊字符 否则报错
shell> mysql -uroot -pwztxYpby+2Gr(可能需要重启先,因为可能会报
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';
增加远程登录用户
mysql> -uroot -pscLRK@DBadmin2017
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'JXgx@2017' WITH GRANT OPTION;
增加开发人员使用账号
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' IDENTIFIED BY 'ShangLi@2017' WITH GRANT OPTION;
配置编码和优化配置 vim /etc/my.cnf 把下面的复制 覆盖 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
#优化参数
#设置最大连接数 默认500
max_connections=1024
#临时表分配的内存 默认16M
tmp_table_size=200M
#定义了用户可以创建的内存表(memory table)的大小。这个值用来计算内存表的最大行数值。这个变量支持动态改变 ,默认16M
max_heap_table_size=500M
#一个事务,在没有提交的时候,产生的日志,记录到Cache中;等到事务提交需要提交的时候,则把日志持久化到磁盘。默认binlog_cache_size大小32K
binlog_cache_size = 1M
#事务隔离级别 默认 REPEATABLE-READ 总共4种 READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction-isolation=REPEATABLE-READ
#数据库字段名名是否区分大小写 0不区分 1 区分
lower_case_table_names = 1
#默认mysql对很多联合查询会报警,可以修改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
重启服务器
用新端口链接 ssh 用新密码链接数据库
select version();
show variables like '%character%';
centos6.5 安装mysql 5.7
( 如果有就先卸载 yum remove mysql mysql-* 然后用 find / -name mysql 把所有带mysql字样的全部删除)
下载mysql源安装包
(centos 6.5 下载这个 注意 el X-y后面的数字 必须和操作系统版本一致!!!)
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
验证源安装是否成功
yum repolist enabled | grep "mysql.*-community.*"
设置默认需要安装的mysql版本( centos6.5 默认安装5.6, 如果要安装5.7 这里要配置 )
可以修改vim /etc/yum.repos.d/mysql-community.repo源,
改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。
然后再将5.6源的enabled=0改成enabled=1即可。
安装mysql
yum install mysql-community-server
启动Mysql
用 service mysqld status可以看到目前Msyql是停用状态)
service mysqld start
查看root 默认密码(初始化密码在mysql.log文件里,所以要快速找到密码 (有时候生成的密码是特殊字符,mysql -uroot -p 会出问题, 比如生成的密码 sX;qQZ.L;6Ml 那就用转义 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数据库
grant all privileges on *.* to root@"%" identified by "woaibeijin@TIAN09";
剩余参考上面的5.7