文章用到的mysql资源在本文末尾!!!
文章目录
一、下载解压安装包
tar -zxvf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
重命名:
cd /usr/local
mv mysql-5.6.33-linux-glibc2.5-x86_64/ mysql/
二、添加用户和用户组
groupadd mysql
添加用户mysql到用户组:mysql
useradd -g mysql mysql
三、进入mysql目录下,找到data目录
cd /usr/local/mysql/data/
创建数据库目录:
mkdir mysql
chown -R mysql:mysql ./
四、安装并指定用户和data文件夹位置
退出data目录,到其上一级目录:
cd ..
如图:
执行:
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
执行完毕如图:
五、复制mysql到服务自启动里面
cp support-files/mysql.server /etc/init.d/mysqld
六、修改权限为755
chmod 755 /etc/init.d/mysqld
七、复制配置文件到etc下,选择覆盖掉之前的配置文件
cp support-files/my-default.cnf /etc/my.cnf
八、修改启动脚本
vim /etc/init.d/mysqld
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
九、启动服务
service mysqld start
十、加入环境变量
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
十一、登录mysql数据库并设置密码
mysql -uroot
注:第一次登录的时候不需要密码,直接就可以登录
为数据库设置密码:
use mysql;
set password for root@localhost = password('123456');
十二、可能遇到的问题:
1. 连接权限问题
安装完成后自动进行root用户密码修改和相关用户配置完成后,用工具远程连接报错,是由于没有给远程连接用户,连接权限问题
解决1:更改“mysql”数据库 ‘user’表 ‘host’项,从‘localhost’改成‘%’
- use mysql;
- select host from user where user=‘root’;
- update user set host = ‘%’ where user =‘root’;
执行上面的更新操作的时候会报错:ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’ - 没有关系直接执行下面的语句:
flush privileges;
解决2:直接授权(登录mysql之后执行)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges;
命令解释:
GRANT:赋权命令
ALL PRIVILEGES:当前用户的所有权限
ON:介词
*.*:当前用户对所有数据库和表的相应操作权限
TO:介词
‘root’@’%’:权限赋给root用户,所有ip都能连接
IDENTIFIED BY ‘root’:连接时输入密码,密码为root
WITH GRANT OPTION:允许级联赋权
解决3:如果出现远程可以登录但是远程无法登录
可以使用远程sql工具连接到mysql之后,找到mysql表中的这条记录:Host字段为localhost,User字段为空的这条记录;执行删除。
删除之后记得一定要刷新权限:
flush privileges;
2. 设置mysql不区分大小写
Linux中mysql是区分大小写的,可以通过命令查看:
show Variables like '%table_names';
0代表区分,1代表不区分。
修改成1:
vim /etc/my.cnf
在 [mysqld] 下加上 lower_case_table_names=1,如图:
重启mysql服务:
service mysqld restart;
此时登录mysql再查看:show Variables like '%table_names';
修改成功。