MySQL①编译安装及yum安装

Linux下源码安装mysql

实验环境:centos7
Mysql数据库:mysql-5.7.17
数据库管理软件: Navica

一、下载mysql
1、下载地址:https://www.mysql.com/downloads/

二、创建用户组和用户
1、groupadd mysql #建立一个mysql的组
2、useradd -r -g mysql mysql #建立mysql用户,并且把用户放到mysql组
3、passwd mysql #给mysql用户设置一个密码

三、编译安装
1、rz 上传软件包           #如果没有rz 可以用  yum install -y lrzsz  命令
2、给tar执行权限 
chmod o+x mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
3、把tar移动到/usr/local
mv mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz  /usr/local
4、解压
cd /usr/local
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
5、给一下文件的名字
mv mysql-5.7.17-linux-glibc2.5-x86_64   mysql

四、配置相关配置文件
1、复制my-default.cnf 到 /etc/my.cnf      #mysqld启动时自动读取
cd  support-files/
cp my-default.cnf /etc/my.cnf 

2、复制mysql.server 到/etc/init.d/ 目录下,目的想实现开机自动自动启动
cp mysql.server /etc/init.d/mysqld            #mysqld是服务名

3、修改 /etc/init.d/mysqld 参数
vi /etc/init.d/mysqld
添加mysql文件目录位置和数据目录位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

4、给目录/usr/local/mysql 更改主组和所属用户
chown -R mysql:mysql /usr/local/mysql/        

5、解决一下乱码问题
vi /etc/my.cnf

[mysql]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character_set_server=utf8

五、初始化 mysql 的数据库
mysql_install_db (老版本的做法)
新版本:
1、初始化
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一个data目录,代表数据库已经初始化成功
并且mysql的root用户生成一个临时密码:S=?NfgWIz7t=

2、给数据库加密
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

###bin/mysqld_safe --user=mysql & 

4、查看mysql进程
ps -ef|grep mysql

六、进入客户端
1、登录 ./mysql -uroot -p 
如果报错信息为:
解决方法:删除了 /tmp/mysql.sock文件

命令:rm -f  /tmp/mysql.sock.lock

2、重启mysql

/etc/init.d/mysqld restart

3、登录mysql
登录的用户是root,密码为第五部分随机生成的临时密码               #密码复制粘贴即可

4、修改密码

登录执行命令会出现报错:提示更改密码

命令如下:
mysql>  set password=password('123456');           #密码修改为123456

七、远程访问 (即你用Windows系统也能访问Linux系统的mysql)

我们先看看数据结构:

现在我们的Windows系统是无法访问到虚拟机下的Linux系统的mysql的,因为没有权限 

八、授权

mysql>   grant all privileges on *.* to root@'%' identified by '123456';
mysql>   use mysql;
mysql>   select host,user from user;

 

授权命令解释一下    *.* 表示所有库所有表,root@'%' 表示 任何主机都可以用root用户登录  ‘123456’这个为密码。

mysql>  flush privileges;
# mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。

 

九、开机自动启动

1、添加服务mysql
chkconfig --add mysqld
2、设置mysql服务为自动
chkconfig mysqld on 

3、重启检查
init 6
ps -ef|grep mysql

十、设置环境变量
vi /etc/profile
export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

十一、进行远程访问
这里我们使用软件Navicat进行远程访问

 

访问成功 
#如果无法配置没问题还是无法访问,请关闭防火墙或者设置防火墙允许。

Linux下yum安装mysql-5.7.23

rpm -qa|grep mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum install -y mysql-community-server                     
systemctl start  mysqld.service                  #重启mysql
systemctl status mysqld.service                #查看mysql状态
grep "password" /var/log/mysqld.log
mysql -uroot -p    # 回车后会提示输入密码
mysql>   grant all privileges on *.* to root@'%' identified by '123456';           #授权
mysql>  flush privileges;            #刷新权限

登录成功 

取消密码复杂度配置

vim /etc/my.cnf

plugin-load=validate_password.so
validate-password=OFF

猜你喜欢

转载自blog.csdn.net/weixin_42125267/article/details/83099127
今日推荐