赞
踩
作为小白,linux学的不扎实,在这里仅是作为一次笔记,记录安装mysql安装时的坑,如果有人看到了,有什么解释问题,希望大家自己搜索学习,我也是东拼西凑的,也能告诉我一下。
命令:service mysqld start 启动mysql服务
命令:service mysqld stop 停止mysql服务
在rpm中利用grep工具搜索有关mariadb的软件包
rpm -qa | grep mariadb
rpm是RedHat软件包管理工具
-qa 表示 query all
| 表示 将两个命令隔开,左边命令的输出就会作为右边命令的输入
grep 是一个文本搜索工具
删除搜索出来的软件包名
rpm -e 搜索出来的软件包名
rpm -e --nodeps 强制删除
删除yum中有关maridb的相关软件包
yum -y remove mari*
再使用命令 rpm -qa | grep mariadb 进行检查
如果之前用的是yum方法安装的mysql但出了问题想重新安装,建议删干净,以免后续出现什么问题(都是坑)
rpm -qa | grep mysql
yum remove mysql-*
在/目录下查找包含mysql的文件名,并逐一删除即可
find / -name mysql
rm -rf 搜索出来的文件名(例如 rm -rf /usr/local/mysql)
这里路径是/opt/DevSoftware/mysql下,要安其他位置自行修改路径
打开文件上传位置并查看文件列表
cd /opt/download
ls
将mysql-5.7.27-linux-glibc2.12-x86_64.tar文件复制到要安装的文件目录下
cp mysql-5.7.27-linux-glibc2.12-x86_64.tar /opt/Software
解压 .tar 文件
tar -xvf mysql-5.7.27-linux-glibc2.12-x86_64.tar
解压 .tar.gz 文件,不用解压mysql-test那个文件,等待解压结束
tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
将解压出来的mysql-5.7…文件重名为mysql
mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql
先执行1,2命令查看是否有对mysql进行用户分组,如果没有执行3,4命令
1 cat /etc/group | grep mysql
2 cat /etc/passwd | grep mysql
3 groupadd mysql
4 useradd -r -g mysql mysql
对创建的用户进行mysql文件的授权
chown -R mysql:mysql /opt/DevSoftware/mysql
创建data文件,并授权
mkdir /opt/DevSoftware/data
chown -R mysql:mysql data
chown 777 mysql/ 赋予最高权限(所有用户都可以使用)
修改mysql的配置文件,按i进入插入编辑模式,修改完毕按esc退出编辑模式,按shift+ ‘:’ 进入命令模式,输入wq保存并退出,具体vim的操作可以自行搜索学习
vim /etc/my.cnf
具体配置信息如下:
[mysql] #修改默认字符集 default-character-set=utf8 #这个是绑定客户端socket文件路径,不然出错还要创建 socket=/opt/DevSoftware/mysql/mysql.sockt [mysqld] #用于后续修改密码时,如果随机密码不对,可以跳过密码验证登录的,修改完密码后再删掉。skip-grant-tables socket=/opt/DevSoftware/mysql/mysql.sockt log_error=/opt/DevSoftware/mysql/data/error.log pid_file=/opt/DevSoftware/mysql/data/mysql.pid basedir=/opt/DevSoftware/mysql datadir=/opt/DevSoftware/mysql/data port = 3306 #忽略大小写 lower_case_table_names=1 #服务端默认字符集 character-set-server=utf8 #最大连接数 max_connections=2000 #创建数据库时默认数据引擎 default-storage-engine=INNODB explicit_defaults_for_timestamp=true
授权my.cnf权限
chown 777 /etc/my.cnf
检查是否有libaio库
rpm -qa|grep libaio
没有则安装
yum install libaio
进行安装,路径写mysql的文件路径,查看warning信息找到初始随机密码。
/opt/DevSoftware/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/DevSoftware/mysql --datadir=/opt/DevSoftware/mysql/data
打开profile文件,进行环境变量配置
vi /etc/profile
在profile文件最后加入如下语句,并保存退出profile配置文件
export PATH=$PATH:/usr/database/mysql/bin
使配置文件生效
source /etc/profile
自启动相关配置
cp /opt/DevSoftware/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
显示服务列表,如果看到mysqld的服务,并且3,4,5都是”on/开启 “的话则成功
如果是off/关闭,则键入:chkconfig --level 345 mysqld on 命令
启动&关闭&重启mysql服务的命令
service mysqld start
service mysqld stop
service mysqld restart
如果在初始化MySQL的时候,在my.cnf中进行了skip-grant-tables跳过密码验证登录的 设置,所以可以直接输入如下命令进行登录
mysql -u root
否者
mysql -u root -p
输入密码
修改密码
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') where USER='root';
flush privileges;
重置密码后,一定执行以下语句
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
flush privileges;
设置授权任何IP地址都可以登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
退出mysql
quit;
退出后先停止mysql,再次进入 /etc/my.cnf文件将skip-grant-tables删除,然后重启mysql
查看防火墙开放的端口
firewall-cmd --list-ports
如果没有3306端口,是连接不上的,输入下面命令,使防火墙开放 3306端口(使用TCP协议的/永久开放的/公开的性质)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
接下来就可以进行远程连接mysql数据库了。
如果说用的阿里云或者什么有安全组的管理,还得去网站的控制台去操作一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。