MySQL ----yum安装
1、找到mysql官网中要下载的版本
www.mysql.com
复制链接
或者上传已下载好的压缩包,解压后本地安装
cd 解压后的安装包路径
yum -y localinstall
2、清理环境
[root@mysql ~]# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
[root@mysql ~]# userdel -r mysql
[root@mysql ~]# rm -rf /etc/my*
[root@mysql ~]# rm -rf /var/lib/mysql
3、下载yum源的rpm软件包
[root@mysql ~]# yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
[root@mysql ~]# vim /etc/yum.repos.d/mysql-community.repo
把安装5.7的源打开, 关闭安装8.0的源
第二种 修改的方法,方便我们使用脚本修改
[root@mysql ~]# yum repolist all |grep mysql
[root@mysql ~]# yum-config-manager --disable mysql80-community
[root@mysql ~]# yum-config-manager --enable mysql57-community
第三种、直接yum安装,注意,这种方式是临时关闭,如果要永久关闭,请参考前两种
yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community
#安装必要的软件包
[root@mysql ~]# yum -y groupinstall "Development Tools"
[root@mysql ~]# yum -y install mysql-community-server
[root@mysql ~]# systemctl start mysqld
4、查找数据库登录密码
从日志中找出密码(有可能没有密码)
[root@mysql ~]# grep "password" /var/log/mysqld.log
2018-12-26T22:41:24.218413Z 1 [Note] A temporary password is generated for root@localhost: %i+g10uS.dre
5、修改数据库密码(两种)
在命令行修改
mysqladmin -uroot -p'old_passwd' password "new_passwd"
在MySQL中修改
mysql> alter user 'root'@'localhost' identified by "QianFeng@123";
Query OK, 0 rows affected (0.00 sec)
6、登录数据库
默认密码登录
[root@mysql ~]# mysql -uroot -p'%i+g10uS.dre'
修改后的密码登录
[root@mysql ~]# mysql -p'新密码'
注意:yum安装的MySQL有密码安全策略要求注意格式,要修改简单密码可以关闭安全策略
[root@mysql ~]# vim /etc/my.cnf
# 关闭mysql密码强度策略,生产环境切勿尝试,首次启动不可关闭
validate-password=OFF
[root@mysql ~]# mysqladmin -uroot -p'old_passwd' password "123"
忘记密码
[root@mysql ~]# vim /etc/my.cnf
skip-grant-tables
在配置文件输入以上代码,在命令行输入mysql可以直接进入数据库,然后在数据库内更改密码
mysql> update mysql.user set authentication_string=password("QianFeng012345") where User='root' and Host="localhost";
MySQL ---源码安装
1、安装依赖包
[root@mysql_source ~]# yum -y groupinstall "Development Tools"
[root@mysql_source ~]# yum -y install ncurses ncurses-devel openssl-devel bison libgcrypt gcc gcc-c++ make cmake
2、上传已有的安装包
3、在系统中添加运行mysqld进程的用户mysql
useradd -M -s /sbin/nologin mysql
4、在系统中添加自定义mysql数据库目录及其他必要目录
[root@mysql_source ~]# mkdir -p /usr/local/{data,mysql,log,tmp}
[root@mysql_source ~]# chown -R mysql:mysql /usr/local/{data,mysql,log,tmp}
5、将mysql-boost-5.7.24.tar.gz解压到当前目录,并执行部署操作
[root@mysql_source ~]# tar xf mysql-boost-5.7.24.tar.gz
[root@mysql_source ~]# cd mysql-5.7.24
[root@mysql_source mysql-5.7.24]# cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/usr/local/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
编译和安装
[root@mysql_source mysql-5.7.24]# make && make install
6、初始化MySQL安装配置
(1)提升MySQL命令为系统级别命令(不安装只能在他的目标路径打开)
[root@mysql_source ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin'>>/etc/profile
[root@mysql_source ~]# source /etc/profile
(2)拷贝默认配置文件至/etc/my.cnf中
[root@mysql_source mysql]# chown -R mysql.mysql /usr/local/mysql
[root@mysql_source ~]# cd /usr/local/mysql/mysql-test/include
[root@mysql_source include]# cp /etc/{my.cnf,my.cnf.bak}
[root@mysql_source include]# 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 #引擎
(3)执行数据库服务初始化操作
[root@mysql_source mysql]# mysqld --defaults-file=/etc/my.cnf --initialize --user='mysql' #mysql启动方式
(4)启动mysqld服务
[root@mysql_source mysql]# mysqld_safe --defaults-file=/etc/my.cnf &
[1] 25705
2019-8-18T09:19:35.334751Z mysqld_safe Logging to '/usr/local/log/mysql_error.log'.
2019-8-18T09:19:35.379829Z mysqld_safe Starting mysqld daemon with databases from /usr/local/data
(5)配置mysqld服务的管理工具(便于启动)
[root@mysql_source support-files]# cd /usr/local/mysql/support-files
[root@mysql_source support-files]# cp mysql.server /etc/init.d/mysqld
### systemctl daemon-reload 重新加载
[root@mysql_source support-files]# systemctl start mysqld
[root@mysql_source support-files]# systemctl enable mysqld
7、登录数据库并进行更改密码
[root@mysql_source mysql]# grep "password" /usr/local/log/mysql_error.log
2019-8-18T09:18:34.214401Z 1 [Note] A temporary password is generated for root@localhost: ejhszb2:m3wJ
查找数据库默认密码
[root@source-mysql ~]# awk '/temporary password/{p=$NF}END{print p}' /usr/local/log/mysql_error.log
V#oN;Rii=3C1
8、修改数据库密码(两种)
在命令行修改登录数据库密码
mysqladmin -uroot -p'old_passwd' password "new_passwd"
在数据库内修改密码
[root@mysql_source tmp]# mysql -uroot -p"ejhszb2:m3wJ"
mysql> alter user 'root'@'localhost' identified by "(Bavdu..1228)";
刷新授权表:
mysql> flush privilegs
登录远程数据库:
客户端:
mysql -uremote -pQianfeng@123 -h10.12.155.9 -P3306
服务端:
远程进入数据库设置
mysql> grant all on *.* to 'remote'@'%' identified by "Qianfeng@123";
第一个* 所有数据库 第二个* 所有表
%所有叫remote的都可以进行连接 也可以写10.12.155.% 一个网段