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=$PATH://usr/local/mysql/bin
source /etc/profile
#设置完环境变量就可以自全局使用mysql命令了,就可以全局进行mysql的启动关闭及状态的操作
例如: systemctl status mysqld.service
十一、进行远程访问
这里我们使用软件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