前语
本文是自己工作中配置linux下的mysql流程,特此记录,供以后参考。
卸载mysql
如果事前通过 yum方式安装的mysql
卸载:yum remove mysql
查看是否有mysql依赖
检查:rpm -qa | grep mysql
如果有则卸载这些依赖
删除依赖:
//普通删除模式 rpm -e xxx(mysql_libs) //强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除 rpm -e --nodeps xxx(mysql_libs)
如果不是通过yum安装的
那就查找mysql
命令:find / -name mysql
把找到的所有文件删除掉
rm -rf /var/lib/mysql(此处填上面查到的文件目录)
最后还要删除/etc/my.cnf这个文件
命令:rm -rf /etc/my.cnf
卸载mariadb
linux虚拟机自带的有一个mariadb,会与我们安装的mysql有冲突。
检查:rpm -qa | grep mariadb
卸载:rpm -e --nodeps mariadb-xxx(上面检查出的所有)
安装mysql依赖包
命令:yum install libaio
获取mysql安装包
载地址:https://dev.mysql.com/downloads/mysql/
注:可能会下载到两种不同的文件,tar.gz 或者 tar.xz。
用网络下载获取windows传递过来。
我们是传递到了/usr/local 目录下。
解压mysql安装包
命令
tar.gz: tar -zxvf 压缩包名称
tar.xz: tar -xvf 压缩包名称
重命名
如果需要可以重命名一下(改名了也可以移动文件夹)
命令:mv mysql-5.6.10-linux-glibc2.5-x86_64 mysql
mysql就存放在/usr/local/mysql文件夹
建立数据文件夹
在/usr/local/mysql 文件夹下建立 mysqldb;
进入 /usr/local/mysql
命令:mkdir mysqldb
mysql文件夹授权
命令:chmod -R 777 /usr/local/mysql/
创建mysql组和用户
创建组
命令:groupadd mysql
创建用户(s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
命令:useradd -r -g mysql -s /bin/false mysql
或者:useradd -g mysql mysql
最后将用户添加到组中
命令:chown -R mysql:mysql ./
修改配置文件
命令:vi /etc/my.cnf
注:将里面的命令都删除掉,然后添加以下命令,保存并退出(如果有一定经验,可以在里面添加一些其他的配置)
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录(跟自己的对应)
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录(跟自己创建的对应)
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
配置环境变量
为了方便之后的启动,现在配置环境变量,就是在任何位置都能识别mysql的命令。
打开环境变量文件/etc/profile文件
命令:vi /etc/profile
在最后加上一句:export PATH=$PATH:/usr/local/mysql/bin
注意:对应自己的mysql安装地址
保存退出即可
安转mysql
进入到mysql安装目录/usr/local/mysql/bin
命令:cd /usr/local/mysql/bin
安装:./mysqld --initialize --console
此时会生成一个临时密码,记下来(复制出来),一会第一次登录的时候会使用到。
启动mysql服务
进入mysql.server服务目录
命令:cd /usr/local/mysql/support-files
启动服务
命令:./mysql.server start
如果第一次启动,当初始化执行会有报错
不要害怕!!!!这是没有赋值权限。
赋值权限
命令:chmod -R 777 /usr/local/mysql
再次启动:./mysql.server start
无报错。
将mysql添加到系统进程中
命令:cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
此时我们就可以通过服务进程操作mysql了。
设置mysql自启动
命令:chmod +x /etc/init.d/mysqld
系统方式启动
命令:systemctl enable mysqld
出现如下就表示设置好自动启动了
修改root用户登录密码
进入mysql的bin目录下
命令:cd /usr/local/mysql/bin/
连接mysql
命令:./mysql -u root -p
执行后输入前面生成的临时密码
即可连接成功。(以下命令都是在mysql连接后的mysql命令)
修改密码(进入mysql之后才可操作)
命令:alter user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
设置允许远程登录
命令:mysql> use mysql
命令:mysql> update user set user.Host='%'where user.User=‘root’;
命令:mysql> flush privileges;
命令:mysql> quit
重启服务且测试
以下命令二选一
centos6
命令:systemctl restart mysql
centos7
命令ervice mysql restart
查看mysql服务是否启动
systemctl status mysql
出现active(running)就表示成功
查看防火墙端口
命令:firewall-cmd --list-all
开放3306端口
开放
命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
注意:–permanent为永久生效,没有此参数 服务器重启后配置失效
重启防火墙
命令:firewall-cmd --reload
在Navicat上测试连接
成功
mysql启动和关闭
启动
命令行方式
[root@localhost bin]cd /usr/bin
[root@localhost bin]./mysqld_safe &
服务方式
[root@localhost ~]service mysql start
如果服务在启动状态,直接重启服务用以下命令:
[root@localhost ~]service mysql restart
关闭
命令行方式
[root@localhost ~]mysqladmin -u root shutdown
服务方式
[root@localhost ~]service mysql stop
linux其他操作
1.开启指定端口以及防火墙
开启防火墙(要不要.service都可以)
命令:systemctl start firewalld.service
关闭防火墙
命令:systemctl stop firewalld.service
查看防火墙状态
命令:systemctl status firewalld.service
重启防火墙
命令:service firewalld restart
开启指定端口9501
注意:开启端口后,一定要重启防火墙
–permanent永久生效,没有此参数重启后失效
命令:firewall-cmd --zone=public --add-port=9501/tcp --permanent
关闭指定端口9501
命令:firewall-cmd --zone=public --remove-port=9501/tcp --permanent
查看通过的端口
命令:firewall-cmd --zone=public --list-ports
重启防火墙
命令:firewall-cmd --reload(切记,添加防火墙端口之后要记得重启防火墙)
2.查看端口
命令:netstat -ntlp