一.安装前的检查和准备工作。
1.1检查自己的liunx是否安装过mysql
rpm -qa | grep mysql
1.1.1如果有的话,就删除(XXXX是自己的mysql目录)
rpm -e --nodeps mysql-xxxx
1.2查询所有的mysql对应的文件夹
whereis mysqlm
find / -name mysql
1.2.1删除相关目录或者文件
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
1.2.2验证一下是否删除干净
whereis mysqlm
find / -name mysql
1.3检查mysql用户组和用户是否已经创建过,没有就创建(4个命令一步一步操作)
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
二.安装Mysql
1.在liunx中cd 到你上传或者下载的mysql目录。
2.然后复制下面命令解压它:(如果版本不一样,换下名字即可。)
tar -zxvf mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
3.解压完成后可以看到上图中多了一个文件夹目录。
4.复制下面的命令:移动这个目录到/usr/local目录下,并修改名字为mysql
mv mysql-5.7.40-linux-glibc2.12-x86_64 /usr/local/mysql
5.复制下面的命令:在/usr/local/mysql目录下创建data目录(一定要在这个目录中创建!!)
mkdir /usr/local/mysql/data
- 修改mysql目录的下所有的目录及文件夹的用户组和用户的权限。
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
7.如果输入上面命令报错!就说明你没有创建MySQL的用户!(没报错忽略这一步!)
使用下面命令添加mysql用户
groupadd mysql
useradd -r -g mysql mysql
8.下面进行编译并初始化mysql
初始化会出现一个临时密码,一定要记住这个密码!复制保存出来!(后面改密码要用!)
8.1 进入你安装好的mysql的/bin目录
cd /usr/local/mysql/bin
8.2 复制下面的命令进行编译和初始化。(重要)
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
出现的临时密码一定要记录下来!
用Xftp软件进入/usr/local/mysql的目录。在这里新建一个my.cnf的文件。
用Xftp打开这个文件,右键,用记事本编辑。(复制下面的配置信息到my.cnf文件里)
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
9.启动mysql服务。
/usr/local/mysql/support-files/mysql.server start
报错信息如下:(contOS 7.5 以上会报这个错)
Starting MySQL.The server quit without updating PID file (/usr/local/mysql/data/..pid).
解决方法:
1.把自己上面创建的my.cnf文件删除,然后用liunx自带的my.cnf文件。
liunx 自带my.cnf路径: /etc/my.cnf
将上面的配置信息替换到这个里面去
10.添加mysql 软连接并重启mysql服务。(一步一步来,这是三个命令不是一个!!)
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
11.登录mysql ,并修改你的初始密码!(密码为上面生成的临时密码)
mysql -u root -p
复制下面的命令修改密码:(这里我改的是123456,你们随意!)
set password for root@localhost = password('123456');
12.用Navicat界面管理软件去连接
登录MySQL后:输入下面命令:
mysql -u root -p
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
执行完毕后就可以用远程连接了!
如果Navicat连接报错
输入命令 iptables -vnL|grep 3306 回车,查看防火墙是否设置了3306端口
如果回车后没数据,说明没有3306端口,如果回车后显示3306端口是drop状态,都需要修正,方法如下:
输入命令然后回车
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
再次输入 iptables -vnL|grep 3306 回车即可看到3306端口状态信息:
再使用navicat连接mysql就没有问题了。
Linux防火墙开放3306端口(重启也不会失效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd reload
MySQL数据库服务启动:service mysqld status 报错,Unit mysqld.service could not be found.
解决办法:
1.将该mysql数据库/usr/local/mysql/support-files路径下的mysql.server复制到/etc/init.d路径下,并重命名为mysqld
2.chmod a+wrx /etc/init.d/mysqld
3.修改mysqld文件中(66~73行代码处)的basedir、bindir、sbindir、libexecdir路径为该mysql安装路径
保存后执行
启动mysql服务
service mysqld start
关闭MySQL服务
service mysqld stop
linux 上设置mysql开机自启
1、普通启动,进入mysql安装路径 :cd /usr/local/mysql
service mysql start
2、这个时候我们只是单纯的启动了mysql,并没有做到开机启动
我们设置开机启动需要将mysql.server 文件复制到 /etc/rc.d/init.d/ 目录下mysql 文件 我们的mysql.server 文件一般都在安装的根目录下的 support-files 目录下
cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
3、复制成功后我们需要给赋予权限
chmod +x /etc/init.d/mysql
4、 添加为服务:
chkconfig --add mysql
5、查看服务列表:
chkconfig --list
看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下:
chkconfig --level 345 mysqld on
重启计算机:reboot
再次查看服务列表或者查看3306端口号
至此,结束MySQL的安装与测试!
标签:--,Linux,3306,mysqld,usr,mysql,MySQL,local,远程 From: https://www.cnblogs.com/Leehy0518/p/17302654.html