mysql安装

2022/4/6 2:19:21

本文主要是介绍mysql安装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

mysql安装

清明节明明放了三天,却感觉一回家就结束了,今天又把时间放在了一些小知识点上,不能收整为一篇,所以,我掐指一算,今晚宜发历史存货...

一、yum版

[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

下载yum源的rpm安装包
[root@mysql ~]# yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-3.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

#关闭防火墙和selinux
[root@mysql ~]# sed -ri s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config && setenforce 0
[root@mysql ~]# systemctl stop firewalld && systemctl disable firewalld

#安装必要的软件包
[root@mysql ~]# yum -y groupinstall "Development Tools"
[root@mysql ~]# yum -y install mysql-community-server
[root@mysql ~]# systemctl start mysqld && systemctl enable mysqld

从日志中找出密码(有可能没有密码)
[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

#登陆数据库
[root@mysql ~]# mysql -uroot -p'%i+g10uS.dre'

修改密码方法2:mysqladmin 
#  [root@localhost ~]# mysqladmin -u root -p'-ojEtMaGU0zN' password  'QianFeng@123'

补充:
[root@mysql ~]# vim /etc/my.cnf
# 关闭mysql密码强度策略,生产环境切勿尝试,首次启动不可关闭
validate-password=OFF
# 跳过密码进入数据库,用于忘记密码时使用
skip-grant-tables
# 之前的博客中写了如何用两种方法更改密码,这里不赘述。

二、源码版

##所需要的依赖及安装mysql的包
[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
bison Linux下C/
ncurses:字符终端处理库
[root@mysql_source ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.24.tar.gz

##在系统中添加运行mysqld进程的用户mysql
[root@mysql_source ~]# groupadd mysql
[root@mysql_source ~]# useradd -M -g mysql -s /sbin/nologin mysql

##在系统中添加自定义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}

##将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/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.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也可以使用如下指令自动下载,如果不下载bost压缩包,把下面的这一条添加到配置中第二行
-DDOWNLOAD_BOOST=1/
参数详解:
-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=/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              默认的存储引擎,支持外键
[root@mysql_source mysql-5.7.24]# echo $?
0
[root@mysql_source mysql-5.7.24]# make -j `

......
[100%] Built target udf_example
[root@mysql_source mysql-5.7.24]# echo $?
0
[root@mysql_source mysql-5.7.24]# make install

......
-- Installing: /usr/local/mysql/support-files/mysql.server
[root@mysql_source mysql-5.7.24]# echo $?
0
[root@mysql_source mysql-5.7.24]#
Congratulations Complete!


##初始化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'

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.设置mysql.socket软链接到mysql命令指定的目录中
[root@mysql_source ~]# ln -s /usr/local/tmp/mysql.sock /tmp/mysql.sock

6.配置mysqld服务的管理工具(便于启动)
[root@mysql_source support-files]# cd /usr/local/mysql/support-files
[root@mysql_source support-files]# cp mysql.server /etc/init.d/mysqld
[root@mysql_source support-files]# chkconfig --add mysqld
[root@mysql_source support-files]# chkconfig mysqld on

##登录数据库并进行更改密码
[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@mysql_source tmp]# mysql -uroot -p"ejhszb2:m3wJ"

三、杂糅版

[root@zhangyang tmp]# yum install --downloadonly --downloaddir=/root/mypackages/ httpd-2.2.6-40.el7
  62  tar -xf mysql-5.7.36-linux-glibc2.12-x86_64.tar
  163  ls
  164  tar -xf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
  165  rm -rf mysql-5.7.36-linux-glibc2.12-x86_64.tar
  166  rm -rf mysql-test-5.7.36-linux-glibc2.12-x86_64.tar.gz
  167  ls
  168  cd mysql-5.7.36-linux-glibc2.12-x86_64/
  169  ls
  170  useradd -M  mysql -s /sbin/nologin
  173  mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.36
  174  cd /usr/local/
  175  cd mysql-5.7.36/
  179  vim /etc/my.cnf
  180  mkdir -p /data/mysql-5.7.36
  183  echo "export PATH=$PATH:/usr/local/mysql-5.7.36/bin" >> /etc/profile
  184  source /etc/profile
  187  mysql  # 确认已经有了命令
  188  mysqld --initialize-insecure --user=mysql
  189  vim /etc/my.cnf
  190  mysqld --initialize-insecure --user=mysql
  191  ll /data/mysql-5.7.36/
  192  cp /usr/local/mysql-5.7.36/support-files/mysql.server /etc/init.d/mysqld
  193  /etc/init.d/mysqld start
  196  chkconfig --add  mysqld
  198  chkconfig --list

以上。



这篇关于mysql安装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程