yum安装
1.关闭防火墙跟selinux
systemctl stop firewalld && systemctl disable firewalld
sed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config && setenforce 0
2.配置本地yum源
curl -o a.sh 10.35.154.250/repo/tools.sh
3.清理坏境
# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
# userdel -r mysql
# rm -rf /etc/my*
# rm -rf /var/lib/mysql
4..配置MySQL官方yum源
https://www.mysql.com //mysql官网
yum -y install https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm #需要版本5要把84改为80。
5.安装5.7的MySQL
1)vim /etc/yum.repos.d/mysql-community.repo
打开5.7的源关闭5.8的源
2)yum -y install yum-utils
yum-config-manager --disable mysql80-community #关闭80包
yum-config-manager --enable mysql57-community #打开57包
3)yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community #这种方式是临时关闭,如果要永久关闭,请参考前两种
#安装必要的软件包
yum -y groupinstall "Development Tools"
yum -y install mysql-community-server
systemctl start mysqld #开启mysql
vim /etc/my.cnf #配置文件
vim /var/lib/mysql #数据目录
vim /var/log/mysqld.log #日志文件
grep "password" /var/log/mysqld.log #从日志文件中找出密码(有可能没有密码-临时密码)过滤到所有MySQL密码,不太精确
mysql -uroot -p'%i+g10uS.dre' # 登录数据库,”%i+g10uS.dre“临时密码
退出:\q,exit,
mysqladmin -uroot -p'旧密码' password "新密码" #修改密码
6.补充
yum安装5.7版本修改简单密码:vim /etc/my.cnf
[mysqld] #标签下改
validate-password=OFF #添加
systemctl restart mysql #重启
忘记密码:vim /etc/my.cnf
skip-grant-tables #添加,跳过密码进入数据库
systemctl restart mysql #重启
以上两个参数不可同时存在
mysql登录后执行:
update mysql.user set authentication_string=password("QianFeng@012345") where User='root' and Host="localhost";
grant all on wordpress.* to 'dba'@'%' identified by 'Qianfeng@123'; # 授权并且给数据库账号设置账号密码----给单个库(wordpress是已经有的库)
grant all on *.* to 'dba'@'%' identified by '自己密码'; # 授权并且给数据库账号设置账号密码----给所有库
flush privileges; #刷新数据库
使用sql修改root密码
alter user 'root'@'localhost' password=(Qianfeng@123)
set password for 'root'@'localhost' identified by "Qianfeng@123"
yum -y install mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community --nogpgcheck #禁用签名
8.0版本要改简单密码需要:
vim /etc/my.cnf
[mysqld] #标签下改
validate-password.policy=0
validate-password.lengtn=4
mysql数据库忽略大小写
show variables like "lower%"
复制表名:lower_case_table_name
vim /etc/my.cnf
lower_case_table_name=1 #添加,=0,区分,-1 不区分
systemctl restart mysql #改完配置文件需要重启
yum -y localinstall *.rpm #安装本地rpm包
源码编译安装
1.关闭防火墙跟selinux
systemctl stop firewalld && systemctl disable firewalld
sed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config && setenforce 0
2.获取源码包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.44.tar.gz
3.安装编译环境
yum -y groupinstall "Development Tools"
yum -y install ncurses ncurses-devel openssl-devel bison libgcrypt gcc gcc-c++ make cmake
4.解压缩
tar -xf mysql-boost-5.7.24.tar.gz
5.在系统中添加运行mysqld进程的用户mysql
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql
6.创建必要的目录,修改权限
mkdir -p /usr/local/{data,mysql,log,tmp}
chown -R mysql:mysql /usr/local/{data,mysql,log,tmp}
7.编译
cd mysql-5.7.24
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DSYSCONFDIR=/etc \ #配置文件存放 (默认可以不安装配置文件)
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据目录 错误日志文件也会在这个目录
-DINSTALL_MANDIR=/usr/share/man \ #帮助文档
-DMYSQL_TCP_PORT=3306 \ #默认端口
-DMYSQL_UNIX_ADDR=/usr/local/tmp/mysql.sock \ #sock文件位置,用来做网络通信的,客户端连接服务器的时候用
-DDEFAULT_CHARSET=utf8 \ #默认字符集。字符集的支持,可以调
-DEXTRA_CHARSETS=all \ #扩展的字符集支持所有的
-DDEFAULT_COLLATION=utf8_general_ci \ #支持的
-DWITH_READLINE=1 \ #上下翻历史命令
-DWITH_SSL=system \ #使用私钥和证书登陆(公钥) 可以加密。 适用与长连接。坏处:速度慢
-DWITH_EMBEDDED_SERVER=1 \ #嵌入式数据库
-DENABLED_LOCAL_INFILE=1 \ #从本地倒入数据,不是备份和恢复。
-DWITH_INNOBASE_STORAGE_ENGINE=1 #默认的存储引擎,支持外键
提示:boost也可以使用如下指令自动下载,如果不下载boost压缩包,把下面的这一条添加到配置中第二行
-DDOWNLOAD_BOOST=1/
8.编译安装
make -j 2 && make install
cd /usr/local/mysql
chown -R mysql:mysql /usr/local/{data,mysql,log,tmp}
9.配置文件
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql #安装目录
datadir = /usr/local/data #数据存放目录
tmpdir = /usr/local/tmp #/tmp缓存目录
socket = /usr/local/tmp/mysql.sock #指定socket文件的位置
pid_file = /usr/local/tmp/mysqld.pid #指定pid文件的位置
log_error = /usr/local/log/mysql_error.log #错误日志的位置
slow_query_log_file = /usr/local/log/slow_warn.log #慢日志查询
server_id = 1 #server-id=??
user = mysql #指定用户
port = 3306 #指定端口
bind-address = 0.0.0.0 #监听地址(允许所以ip访问)
character-set-server = utf8 #字符集
default_storage_engine = InnoDB #引擎
10.配置环境变量
vim /etc/profile.d/mysql.sh
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH # 赋值给PATH后,可在任意位置使用命令
source /etc/profile.d/mysql.sh
11.初始化
cd /usr/local/data
mysqld --defaults-file=/etc/my.cnf --initialize --user='mysql'
cd /usr/local/log
grep password mysql_error.log #日志查看密码:&z6yE5OPhsIa
awk '/A temporary password/{p=$NF}END{print p}' /var/log/mysqld.log # 查看数据库密码
mysqladmin -uroot -p"awk '/A temporary password/{p=$NF}END{print p}' /var/log/mysqld.log" password "Qianfeng@123" # 修改数据库密码
12.启动
mysqld_safe --user=mysql &
mysqladmin -p'原密码' password '1' #编码安装的数据库对密码要求不高改密码
13.配置启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
mysqladmin -p1 shutdown
systemctl daemon-reload
systemctl start mysqld
mysql -p1
14.开机自启动
chkconfig --add mysqld
chkconfig mysqld on