linux下安装mysql有三种方式:①yum安装 ②rpm安装 ③源码包安装
这里介绍第三种安装方式
操作系统:centos7.2
mysql版本:5.7.25,安装时注意版本区别,不同版本安装配置稍有差异。
若之前装过mysql请先删除再进行安装
卸载centos7自带的 MariaDB:
rpm -qa|grep mariadb // 查询出来已安装的mariadb
rpm -e --nodeps mariadb-* //删除相关包
或者用此命令删除:
rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
1、查看系统版本 lsb_release -a
2、下载mysql安装包
下载地址:https://dev.mysql.com/downloads/mysql/
3、检查是否已经存在mysql,若存在卸载,避免安装时产生一些错误!
rpm -qa | grep -i mysql
若存在,使用rpm -e packname –nodeps命令删除安装包
which mysql
查看mysql配置信息,删除对应的配置文件等信息!
删除mysql用户
userdel mysql
4、上传安装包,解压缩安装包
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
如果压缩包名是以 ..tar 结尾,则解压方式为
tar -xvf mysql-5.7.25-linux-glibc2.12-x86_64.tar
删除下载的安装包
rm mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
修改解压出来的文件夹名为mysql
mv mysql-5.7.25-linux-glibc2.12-x86_64 mysql-5.7.25
4.创建数据文件存放目录
进入mysql-5.7.25目录,新建data目录
mkdir data
5、创建系统用户组和用户
cat /etc/group --查看所有用户组信息是否存在mysql组,不存在则创建,存在则直接新建用户
groupadd mysql ---新建一个msyql组
cat /etc/passwd|grep mysql ---查看是否存在mysql用户
useradd -g mysql mysql ---新建msyql用户
6.修改当前目录权限
chown -R mysql:mysql /usr/local/mysql-5.7.25
7.初始化数据库
cd /usr/local/mysql-5.7.25/bin //进入bin目录
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.25 --datadir=/usr/local/mysql-5.7.25/data
意结尾有初始密码。
若报如下错
./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object
file: No such file or directory
则执行
yum remove libnuma.so.1;
yum -y install numactl.x86_64;
将 mysql 加入服务
cp /usr/local/mysql-5.7.25/support-files/mysql.server /etc/init.d/mysql
8.配置my.cnf
搜索my.cnf
find / -name my.cnf
如果没有找到my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql5.7.25/mysql-5.7.25
datadir=/usr/local/mysql5.7.25/mysql-5.7.25/data
socket=/tmp/mysql.sock
#1不区分大小写 0区分大小写:
lower_case_table_names = 1
#不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql5.7.25/mysql-5.7.25/data/mysqld.pid
9.添加开机启动
vim /etc/init.d/mysqld
basedir=/usr/local/mysql5.7.25/mysql-5.7.25
datadir=/usr/local/mysql5.7.25/mysql-5.7.25/data
chkconfig --add mysqld
chkconfig mysql on
查询列表:
chkconfig | grep -i mysql
启动mysql:
service mysqld start
service mysqld stop
查询列表:
chkconfig | grep -i mysql
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
chkconfig --level 345 mysql on
重启电脑
reboot
验证
netstat -na | grep 3306
连接Mysql
cd /usr/local/mysql-5.7.25/bin
./mysql -uroot -p
然后输入默认密码,登录后修改默认密码
alter user 'root'@'localhost' identified by '新密码';
flush privileges; ---刷新权限,之后退出重新登录
本地navicat连接数据库:
在安装Mysql数据库的主机上登录root用户:
mysql -u root -p
3.依次执行如下命令:
use mysql;
select host from user where user='root';
可以看到当前主机配置信息为localhost.
4.将Host设置为通配符%
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。 user=root Host=localhost,表示只能通过本机客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;
update user set host = '%' where user ='root';
Host设置了“%”后便可以允许远程访问。
5.Host修改完成后记得执行flush privileges使配置立即生效
flush privileges;
6.使用navicat 成功连接至mysql
创建用户并授权
添加用户允许其在任意地址登录
CREATE USER 'dog'@'%' IDENTIFIED BY '123456';
授予所有库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'dog'@'%' IDENTIFIED BY '123456';
刷新权限
flush privileges;
环境变量一定要设置对了
vim /etc/profile 打开环境变量文件
添加路径:
在文件后面加上环境变量export PATH=$PATH:/usr/local/mysql-5.7.25/bin
保存后退出
更新配置文件:source /etc/profile
创建用户并授权
添加用户允许其在任意地址登录
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
//授予所有库的所有权限
grant all privileges on *.* to root@% identified by '123456';
//刷新权限
flush privileges;
https://www.cnblogs.com/yiwd/p/3645530.html
修改mysql5.7.25密码:
进入mysql:
mysql -uroot -p 输入密码
SET PASSWORD = PASSWORD('aspire@123-');
navicat连接成功~
启动mysql:service mysqld start
重启myql:service mysqld restart
关闭mysql:service mysqld stop
MySQL-[Err] 1055 - Expression #1:
https://www.cnblogs.com/jinjiyese153/p/6814109.html