linux上安装mysql
Posted 鹿尧知马立
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux上安装mysql相关的知识,希望对你有一定的参考价值。
由于更换电脑,本机上没有了mysql,同时想练习下在服务器上用命令方式安装mysql,所以今天特意下载了虚拟机,打算将mysql安装在本机虚拟机上。
第一次正经玩linux,踩坑无数,仅以此作为笔记,方便以后回顾。
参考链接:https://juejin.im/post/5d4a9298f265da03a653019b
一.下载压缩包
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
二.解压
1.解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2.复制解压后的mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
三.添加用户组和用户
1.添加用户组
groupadd mysql
2.添加用户mysql到用户组mysql
useradd -g mysql mysql
四.安装
1.一定要进入安装mysql目录!!!修改目录拥有者为mysql用户 cd mysql/
chown -R mysql:mysql ./
2.安装数据库
./scripts/mysql_install_db --user=mysql
3.修改当前目录拥有者为root用户
chown -R root:root .
4.修改当前data目录拥有者为mysql用户
chown -R mysql:mysql data
五.添加mysql服务开机启动
1.初始化数据库
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
⚠️注意:这一步有可能报:
WARNING: Found existing config file /usr/local/mysql/my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as /usr/local/mysql/my-new.cnf,
please compare it with your file and take the changes you need.
意思就是系统中已经有一个my.cnf,为了不影响你使用新建了my-new.cnf,我的做法是这一步执行完之后删除my-new.cnf这个文件
2.添加启动服务
cp support-files/mysql.server /etc/init.d/mysql
3.配置mysql开机启动
vim /etc/rc.local 然后在文件中添加 service mysqld start
4.添加环境变量
vim /etc/profile 然后将下面一行代码加入文件
export PATH="$PATH://usr/local/mysql/bin"
5.让配置文件立即生效
source /etc/profile
7.重启mysql
service mysql restart
⚠️注意:我在这一步报了权限不足,需要加上sudo
六.修改mysql密码
1.在my.cnf中的[mysqld]下加上skip-grant-tables
2.重启mysql
mysql service restart
⚠️注意:我在重启的时候报错,所有我先sudo service mysql stop 再sudo service mysql start之后没有报错
3.登陆mysql
mysql -u root -p
回车之后需要数据密码,直接回车不用输密码
4.use mysql;
5.update user set password=password("你的新密码") where user="root";
6.flush privileges;
7.quit;
8.删除刚才配置的skip-grant-tables再重启mysql
七.允许远程连接mysql
1.登陆mysql
2.mysql>use mysql;
3.mysql> select user,host from user;
4.如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
5.授权用户
(1)任意主机以用户root和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
(2)IP为192.168.133.128的主机以用户myuser和密码mypwd连接到mysql服务器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.133.128' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
以上是关于linux上安装mysql的主要内容,如果未能解决你的问题,请参考以下文章