Centos7 的 yum 源中默认是没有 mysql 的。要想使用 yum 安装 mysql 5.6 ,需要先下载安装 mysql 的 repo 源。
1、下载 mysql 的 repo 源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2、安装 mysql-community-release-el7-5.noarch.rpm 包
# sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。 3、安装 mysql
# sudo yum install mysql-server4、重置 mysql 密码
# mysql -u root登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
# sudo chown -R openscanner:openscanner /var/lib/mysql然后重启 mysql 服务:
# service mysqld restart然后邓璐重置密码:
# mysql -u root mysql > use mysql mysql > update user set password=password('123456') where user = 'root'; mysql > exit;5、开放3306端口 编辑 iptables 文件,如果没有找到,则需要安装 iptables,因为 centos7 默认使用的是 firewall 作为防火墙。 5.1 关闭 firewall: 停止 firewall
# systemctl stop firewalld.service禁止 firewall 开机启动
# systemctl disable firewalld.service5.2 安装 iptables 防火墙,安装完成之后在 /etc/sysconfig 目录下有 iptables 文件 安装
# yum install iptables-services编辑防火墙配置文件
# vi /etc/sysconfig/iptables添加开放端口3306的信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT保存退出,重启防火墙
# systemctl restart iptables.service设置防火墙开机启动
# systemctl enable iptables.servicemysql 数据库安装完成,可以使用客户端远程测试连接。 备注: 如果客户端连接数据库报错:类似
1130: host is not allowed to connect to mysql server说明 mysql 数据库不允许从远程登录,只能在 localhost,添加 ‘%’ 即可。
# mysql -u root -p登录mysql
mysql > use mysql; mysql > update user set host = '%' where user = 'root';修改mysql可以本地访问
update user set host = 'localhost' where user = 'root' and host = '127.0.0.1';如果报错,类似
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'然后产看数据库的 host 信息,
mysql > select host form user where user = 'root'; +-----------------------+ | host | +-----------------------+ | % | | 127.0.0.1 | | localhost.localdomain | +-----------------------+ 3 rows in set (0.00 sec)host 已经有了 % 这个值。直接运行最后一个命令:
mysql > flush privileges;客户端连接数据库,成功! 6、修改 mysql 数据库字符集 查看数据库字符集
mysql > show variables like '%character%';结果显示:其中字符集 为 latin1。
+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+修改 my.cnf 文件,注意:修改之前,备份 my.cnf
# vi /etc/my.cnf在 [mysqld] 下添加代码
socket = /mysqldata/mysql/mysql.sock **character-set-server=utf8**7、设置 mysql 数据库表不区分大小写 在 [mysqld] 下添加代码
lower_case_table_names=18、跳过数据库密码登陆,在 /etc/my.cnf中增加
[mysqld] skip-grant-tables