mysql_5.6安装手册
- mysql5.6的下载与解压
wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
解压到指定目录/usr/local
tar -zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -s mysql-5.6.35-linux-glibc2.5-x86_64 mysql
- 增加mysql用户和组
#创建mysql组
groupadd mysql
#创建禁止shell登陆的用户mysql,并指定组mysql
useradd -r -s /sbin/nologin -g mysql mysql -d /opt/local/mysql
- 修改mysql目录及子文件属主
这里将源目录和软链接都修改了一下,因为发现只修改软链接的话,里面的子目录属主不会发生变更。
chown -R mysql:mysql mysql
chown -R mysql:mysql mysql-5.6.35-linux-glibc2.5-x86_64
- 安装mysql默认数据库
#datadir指向保存数据库文件的目录,可以根据实际需要修改
scripts/mysql_install_db --user=mysql --basedir=/opt/local/mysql --datadir=/opt/local/mysql/data
报错:FATAL ERROR: Could not find my-default.cnf 执行下面这段
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
如果执行以上命令出现error while loading shared libraries: libaio.so.1错误时,可以先安装lib
yum install libaio-devel.x86_64
- 配置脚本和环境变量
#添加开机启动项
cp support-files/mysql.server /etc/init.d/mysql
#拷贝mysql的配置文件到/etc/目录下
cp support-files/my-default.cnf /etc/my.cnf
修改/etc/init.d/mysql文件如下:
vi /etc/init.d/mysql
修改/etc/my.cnf文件如下红色区域:
[mysql]
# 设置客户端默认字符集
default-character-set=utf8
socket=/opt/local/mysql/mysql.sock
[mysqld]
skip-name-resolve
port=3306
socket=/opt/local/mysql/mysql.sock
basedir=/opt/local/mysql
datadir=/opt/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务器端使用端字符集,默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
#由于指定了socket文件,因此需要创建文件并修改组和属主为mysql
cd /opt/local/mysql
touch mysql.sock
chown mysql:mysql mysql.sock
#建立软链接
ln -s /opt/local/mysql/mysql.sock /tmp/mysql.sock
#添加环境变量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
#配置mysql自启动
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
- 启动mysql与测试
#启动mysql
service mysql start
#登陆mysql
mysql
#查询用户
use mysql;
select host,user from user;
#添加远程访问用户mysql
#格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
grant all privileges on *.* to mysql@"%" identified by "mysql123!@#"; |
#修改root账号密码
set password=password("root123!@#");
使用navicat远程链接mysql,测试成功。
- 问题汇总
1.1 使用mysql命令出现以下错误信息ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解决方案: 建立软链接 ln -s /usr/local/mysql/mysql.sock /tmp/mysql.sock