下载地址:https://dev.mysql.com/downloads/mysql/
先卸载
CentOS 7已经将默认集成mariadb而不是mysql,这对于多数还是依赖于mysql的应用来说,需要手动的进行更新。可能会遇到这样错误,换成MySQL就好了。
error 2002 (hy000) mysql.sock /var/lib/mysql/mysql.sock
首先查看都安装了哪些的mariadb相关的模块。枫竹梦自己安装过mariadb,所有模块较多。
rpm -qa | grep mariadb
然后进行卸载。
rpm -e mariadb-libs-5.5.44-1.el7_1.x86_64
会提示有依赖于这的安装包,那么就强制卸载,不查检依赖:
rpm -e --nodeps mariadb-libs-5.5.44-1.el7_1.x86_64
将所有的mariadb安装包都删除,然后自行安装MySQL就可以了。
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /usr/local/mysql
chown -R mysql:mysql ./
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
./support-files/mysql.server start
如果出现如下错误,则说明mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。
如下所示:
[mysqld]
port=3306
datadir=/usr/local/install/mysql /data
socket=/usr/local/install/mysql/mysql.sock
user=mysql
max_connections=151
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 设置忽略大小写
lower_case_table_names = 1
# 指定编码
character-set-server=utf8
collation-server=utf8_general_ci
# 开启ip绑定
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/ install/mysql/mysql.sock
default-character-set=utf8
9.重新启开启mysql服务,如下图所示则开启成功!
./support-files/mysql.server start
10.将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld
11.重新启动mysql服务,命令如下:
service mysqld restart
12.配置mysql环境变量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
保存退出,再编译下:
source /etc/profile
13.使用随机密码登录mysql数据库,命令如下:
mysql -u root -p
输入随机密码登录成功如下图所示:
alter user 'root'@'localhost' identified by 'root';
15.设置允许远程连接数据库,命令如下:
先选择数据库:
use mysql
update user set user.Host='%' where user.User='root';
查看修改后的值:
select user,host from user;
16.刷新权限,命令如下:
flush privileges;
17、开启3306防火墙端口,然后即可远程连接mysql(因为我的防火墙是全部关闭,所以省略了这步)
18、如果还是无法远程连接,查看/etc/my.cnf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 将服务文件拷贝到init.d下,并重命名为mysql
chmod +x /etc/init.d/mysql 赋予可执行权限
chkconfig --add mysql 添加服务
chkconfig --list 显示服务列表
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
netstat -na | grep 3306,如果看到有监听说明服务启动了