下载源码安装包:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
解压:
tar xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql
groupadd mysql
useradd -r -g mysql mysql -m -s /sbin/nologin
chown -R mysql:mysql ./
初始化数据库:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
如报错:
bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
则是因为缺少安装包libaio和libaio-devel。
解决方法:
yum install libaio*
初始化完成时会有一条root的登录密码,请记录方便修改密码。
修改配置文件/etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
symbolic-links=0
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d
添加开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
CentOS 7需要添加服务
systemctl enable mysql.service
添加启动软连接:
ln -s
修改 /etc/init.d/mysqld
46 basedir=/usr/local/mysql
47 datadir=/usr/local/mysql/data
启动mysql:
service mysqld start
权限有问题或者目录不存在对应解决即可。
修改密码:
alter user 'root'@'localhost' identified by 'root';
flush privileges;
如果报错:
Table 'mysql.servers' doesn't exist
解决方法:
drop table if exists tablename;
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';