1. yum -y remover `rpm -qa | grep mysqld` #清理包含mysql的包
    2. yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
    3. userdel -r mysql #清理MySQL用户信息
    4. rm -rf /etc/my* #删除以my开头的文件
    5. rm -rf /var/lib/mysql #删除mysql目录
    1. mysql官网找到mysqlrpm包地址使用wget下载
    2. wget 下载mysql.rpm
    3. wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
    4. rpm -ivh mysql80-community-release-el7-5.noarch.rpm #解包
    5. 进入MySQL配置文件修改:配置MySQLyum
    6. vim /etc/yum.repos.d/mysql-community.repo #修改配置文件如下
    7. mysql5.7配置
    8. nabled=1 #开启5.7的MySQL
    9. gpgcheck=0 #关闭密钥认证,如果开启必须修改密钥因为现在密钥过期了
    10. mysql8.0配置
    11. enabled=0 #关闭5.8的MySQL
    12. gpgcheck=1 #密钥认证可以不用管他
    13. 安装mMySQL数据库:
    14. yum -y install mysql-community-server
    15. 如果安装MySQL时没有关闭GPG密钥认证会安装失败;
    16. 下载如下密钥即可解决:
    17. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    18. 修改完成后再执行一下mysql安装;
    19. ----------------------------------------------------------------------------------------------------------------
    20. mysql --version #查询mysql版本信息
    21. systemctl start mysqld #启动mysql数据库
    22. systemctl enable mysqld #设置开机启动
    23. grep passswor /var/log/mysqld.log #查看mysql密码 (后期修改的密码过滤不到只能看到初始化的密码)
    24. ----------------------------------------------------------------------------------------------------------------
    25. 如果首次启动过滤不到密码,进行如下操作:
    26. systemctl stop mysqld #停掉MySQL数据库
    27. rm -rf /var/lib/mysql/* #删除MySQL数据库 (这种操作只能再刚安装好时使用其他情况谨慎操作)
    28. systemctl start mysqld #重启MySQL数据库
    1. 管下载MySQL安装包
    2. MySQL官网地址:/www.mysql.com/
    3. wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.38.tar.gz
    4. tar -xvf mysql-boost-5.7.38.tar.gz -C /usr/local/ #解包--指定解压到目录
    5. 安装编译工具:
    6. yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
    7. yum -y install cmake
    8. mkdir -p /usr/local/mysql/{data,log} #这个目录可以不创建,编译安装好初始化时写的有这个目录会自动创建
    9. useradd -r mysql -M -s /etc/false #创建mysql用户不创建家目录和登录权限‘false’也是不可登录;
    10. cd /usr/local/mysql-5.7.38 #进入解包好的目录内
    11. 编译配参考下面代码块MySQL编译配置文件 1.;;
    12. 编译完成使用 $? 查看编译成功了没有;
    13. 编译完成后执行:make && amek install -j2 #-j2指定几个处理器执行编译安装加速执行;
    14. cd /usr/local/msyql #进入MySQL的目录
    15. chown -R mysql.mysql . #吧当前目录和目录下的组和属组设置成MySQL用户
    16. #初始化MySQL数据库,初始化完成一定要记住密码因为没有开启log日志时没有记录密码的
    17. ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    18. 编译配置查看MySQL编译安装文件 2.
    19. 启动数据库:
    20. cd /usr/local/mysql
    21. ./bin/mysqld_safe --user=mysql &
    22. 配置环境变量:
    23. expro PATH=/usr/local/mysql/bin:$PATH
    24. source /etc/profile #刷寻环境变量配置文件
    1. 1.MySQL解压好包的目录下执行
    2. cmake . \
    3. -DWITH_BOOST=boost/boost_1_59_0/ \
    4. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    5. -DSYSCONFDIR=/etc \
    6. -DMYSQL_DATADIR=/usr/local/mysql/data \
    7. -DINSTALL_MANDIR=/usr/share/man \
    8. -DMYSQL_TCP_PORT=3306 \
    9. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    10. -DDEFAULT_CHARSET=utf8 \
    11. -DEXTRA_CHARSETS=all \
    12. -DDEFAULT_COLLATION=utf8_general_ci \
    13. -DWITH_READLINE=1 \
    14. -DWITH_SSL=system \
    15. -DWITH_EMBEDDED_SERVER=1 \
    16. -DENABLED_LOCAL_INFILE=1 \
    17. -DWITH_INNOBASE_STORAGE_ENGINE=1
    18. -------------------------------------------------------------------------------------------
    19. 编译配置解析:
    20. 提示:boost也可以使用如下指令自动下载,如果不下载bost压缩包,把下面的这一条添加到配置中第二行
    21. -DDOWNLOAD_BOOST=1/
    22. 参数详解:
    23. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装目录
    24. -DSYSCONFDIR=/etc \ 配置文件存放 (默认可以不安装配置文件)
    25. -DMYSQL_DATADIR=/usr/local/mysql/data \ 数据目录 错误日志文件也会在这个目录
    26. -DINSTALL_MANDIR=/usr/share/man \ 帮助文档
    27. -DMYSQL_TCP_PORT=3306 \ 默认端口
    28. -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ sock文件位置,用来做网络通信的,客户端连接服务器的时候用
    29. -DDEFAULT_CHARSET=utf8 \ 默认字符集。字符集的支持,可以调
    30. -DEXTRA_CHARSETS=all \ 扩展的字符集支持所有的
    31. -DDEFAULT_COLLATION=utf8_general_ci \ 支持的
    32. -DWITH_READLINE=1 \ 上下翻历史命令
    33. -DWITH_SSL=system \ 使用私钥和证书登陆(公钥) 可以加密。 适用与长连接。坏处:速度慢
    34. -DWITH_EMBEDDED_SERVER=1 \ 嵌入式数据库
    35. -DENABLED_LOCAL_INFILE=1 \ 从本地倒入数据,不是备份和恢复。
    36. -DWITH_INNOBASE_STORAGE_ENGINE=1 默认的存储引擎,支持外键
    37. ----------------------------------------------------------------------------------------------
    38. 2.mysql配置文件编辑:
    39. vim /etc/my.conf
    40. [client]
    41. port = 3306
    42. socket = /tmp/mysql.sock
    43. default-character-set = utf8
    44. [mysqld]
    45. port = 3306
    46. user = mysql
    47. basedir = /usr/local/mysql #指定安装目录
    48. datadir = /usr/local/mysql/data #指定数据存放目录
    49. socket = /tmp/mysql.sock
    50. character_set_server = utf8
    51. 配置解析参数详解:
    52. [client]
    53. # 默认连接端口
    54. port = 3306
    55. # 用于本地连接的socket套接字
    56. socket = /tmp/mysql.sock
    57. # 编码
    58. default-character-set = utf8
    59. [mysqld]
    60. # 服务端口号,默认3306
    61. port = 3306
    62. # mysql启动用户
    63. user = mysql
    64. # mysql安装根目录
    65. basedir = /usr/local/mysql
    66. # mysql数据文件所在位置
    67. datadir = /usr/local/mysql/data
    68. # 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
    69. socket = /tmp/mysql.sock
    70. # 数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
    71. character_set_server = utf8
    1. vim /lib/systemd/system/mysqld.service
    2. [Unit]
    3. Description=MySQL Server
    4. #Documentation=man:mysqld(8)
    5. #Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    6. #After=network.target
    7. #After=syslog.target
    8. [Install]
    9. WantedBy=multi-user.target
    10. [Service]
    11. User=mysql
    12. Group=mysql
    13. ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    14. LimitNOFILE = 5000