一、下载mysql压缩包
- 下载地址 mysql-5.6.34
- 下载版本如:mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
二、安装mysql
- 在根目录下创建data/目录
mkdir data
- 将压缩包放到该目录并解压
tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
- 修改解压后文件夹名称
mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql-5.6.34
- 复制配置文件
cp /data/mysql-5.6.34/support-files/my-default.cnf /etc/my.cnf
- 修改配置文件
vi /etc/my.cnf
- 将以下内容加入到my.cnf文件中
[client]
port = 3306
socket = /data/mysql-5.6.34/mysql.sock
default-character-set = utf8
[mysqld]
skip-name-resolve
user = mysql
basedir = /data/mysql-5.6.34
datadir = /data/mysql-5.6.34/data
port = 3306
server_id = 10
socket = /data/mysql-5.6.34/mysql.sock
pid-file = /data/mysql-5.6.34/mysql.pid
log-error = /data/mysql-5.6.34/data/mysql.err
log-bin = /data/mysql-5.6.34/data/mysql-bin
character-set-server = utf8
- 初始化数据库
chown -R mysql.mysql /data/mysql-5.6.34
/data/mysql-5.6.34/scripts/mysql_install_db \
--defaults-file=/etc/my.cnf \
--user=mysql \
--basedir=/data/mysql-5.6.34 \
--datadir=/data/mysql-5.6.34/data
- 如果出现以下信息请执行
yum -y install autoconf
FATAL ERROR: please install the following Perl modules before executing
Data::Dumper
- 如果执行了
yum -y install autoconf
请重新执行初始化数据命令
配置并启动mysql
- 输入命令
cp /data/mysql-5.6.34/support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
- 注意,mysql二进制安装默认的路径为/usr/local/mysql,启动脚本里/usr/local/mysql需要替换
sed -i 's#/usr/local/mysql#/data/mysql-5.6.34#g' /data/mysql-5.6.34/bin/mysqld_safe /etc/init.d/mysqld
- 启动mysql
service mysqld start
- 如果启动报错如下,执行
yum install libaio* -y
然后重新尝试service mysqld start
Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared
- 如果启动报错如下,检查是否有重复进程
ps -ef|grep mysqld
,使用kill -9 进程号
杀死进程后重新执行service mysqld start
Starting MySQL...The server quit without updating PID file [FAILED]ysql-5.6.34/mysql.pid)
- 显示以下代码启动成功
Starting MySQL. [ OK ]
- 添加自启动
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld
- 配置环境变量
echo 'export PATH=/data/mysql-5.6.34/bin:$PATH' >> /etc/profile
source /etc/profile
- 修改mysql密码(mysql5.6安装默认root密码为空)
mysqladmin -u root password '111111'
清理无用的mysql用户及库登陆mysql
- 登录
mysql -uroot -p111111
- 查询用户
select user,host from mysql.user;
- 如下所示
+------+-----------------------+
| user | host |
+------+-----------------------+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | localhost.localdomain |
| root | localhost.localdomain |
+------+-----------------------+
- 删除无用用户
drop user "root"@"::1";
drop user ""@"localhost";
drop user ""@"localhost.localdomain";
drop user "root"@"localhost.localdomain";
- 删除无用库
drop database test;
使用工具连接
- sqlyog连接
- 如果出现以下错误,说明是数据库考虑安全问题默认只允许localhost(本地)访问,不允许其他的远程连接
- 登录mysql
mysql -uroot -p111111
- 选择数据库mysql
use mysql;
- 查看数据信息(得到的结果里的host只有“127.0.0.1”、“localhost”,
所以需要添加host为“%”或将localhost修改为“%”)
select host, user from user;
- 更新数据
update user set host='%' where host='localhost' and user='root';
flush privileges;
- 查看是否成功
select host,user from user;
结果中若有,host为“%”的root用户,则直接在SQLyog客户端重新连接,就会连接成功