• Mysql安装并修改字符集 ----> 基于源码包安装


     1)基于源码包安装MySQL

    [root@localhost ~]# rpm -q mysql mysql-server mariadb mairadb-server           //检查有没有安装rpm格式的包有就要卸载掉

    ncurses-devel是cmake的依赖包

    [root@localhost ~]#yum -y install ncurses-devel cmake

    [root@localhost ~]#rpm -q ncurses-devel cmake

    导入mysql软件包(mysql-5.7.24.tar)

    [root@localhost ~]#tar xf mysql-5.7.24.tar.gz -C /usr/src/

    [root@localhost ~]#cd /usr/src/mysql-5.7.24/

    [root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc&& make && make install

    此时会报一个boost错误!

    a.解决办法在/usr/local下创建一个名为boost的文件夹

    [root@localhost mysql-5.7.24]#mkdir /usr/local/boost

    b.进入目录并下载boost

    [root@localhost mysql-5.7.24]# cd /usr/local/boost/

    [root@localhost boost]# 导入boost软件包(boost_1_59_0.tar)

    [root@localhost boost]#tar xf boost_1_59_0.tar

    [root@localhost boost]#cd /usr/src/mysql-5.7.24/

    [root@localhost mysql-5.7.24]# yum -y install gcc gcc-c++

    [root@localhost mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

    -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make && make install

    2)安装后的调整

    对数据库目录进行权限设置

    [root@localhost mysql-5.7.24]# chown -R mysql:mysql /usr/local/mysql

    [root@localhost mysql-5.7.24]# vim /etc/my.cnf

    修改如下四处
    datadir=/usr/local/mysql/data                                                  
    socket=/tmp/mysql.sock
    log-error=/usr/local/mysql/data/mysql.log          //错误日志存放位置
    pid-file=/usr/local/mysql/data/mysql.pid           //PID的值存放位置
    

    3)初始化数据库

    [root@localhost mysql-5.7.24]# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

    2019-09-11T08:01:40.678278Z 1 [Note] A temporary password is generated for root@localhost: FUWehrKBq0(6        //FUWehrKBq0(6是密码

    4)设置环境变量

    [root@localhost mysql-5.7.24]# vim /etc/profile

    因为写的是绝对路径也没有修改PATH值所以必须在尾部添加PATH=$PATH:/usr/local/mysql/bin

    [root@localhost mysql-5.7.24]# source /etc/profile                        //因为profile是脚本所以必须用source使其生效

    5)添加系统服务

    添加MySQL为系统服务,以便通过systemctl命令进行管理

    [root@localhost mysql-5.7.24]# cp /usr/src/mysql-5.7.24/support-files/mysql.server /etc/init.d/mysqld

    [root@localhost mysql-5.7.24]# chmod +x /etc/init.d/mysqld
    [root@localhost mysql-5.7.24]# /etc//init.d/mysqld start
    Starting MySQL.Logging to '/usr/local/mysql/data/mysql.log'.
    SUCCESS!

    [root@localhost mysql-5.7.24]# netstat -anpt | grep mysql
    tcp6 0 0 :::3306 :::* LISTEN 82911/mysqld

    [root@localhost mysql-5.7.24]# mysql -u root -p'FUWehrKBq0(6'            //进入到mysql后台

    mysql> exit                                                                                               //输入exit退出mysql后台
    Bye

    [root@localhost mysql-5.7.24]# mysqladmin -u root -p'FUWehrKBq0(6' password '123456'          //修改mysql密码将FUWehrKBq0(6换成123456(后期修改数据库用户的密码:)

    [root@localhost mysql-5.7.24]# netstat -anpt | grep mysql
    tcp6 0 0 :::3306 :::* LISTEN 82911/mysqld

    MYSQL安装完成

    修改mysql字符集使得支持中文

    在mysqld列中添加如下命令

    [mysqld]
    character_set_server=utf8进  

    进入数据库查看

    mysql> show variables like 'char%';
    +--------------------------+-----------------------------------------+
    | Variable_name | Value |
    +--------------------------+-----------------------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/local/mysql-5.5.32/share/charsets/ |
    +--------------------------+-----------------------------------------+
    8 rows in set (0.00 sec)

  • 相关阅读:
    IDEA热部署插件Jrebel
    Navicat Premium15安装及破解教程
    IDEA中查看类的关系图
    PV、UV、IP名词解释
    Promise由浅入深
    URLSearchParams
    二进制流学习-Blob、ArrayBuffer、File、FileReader和FormData的区别
    前端vue以数据流方式导出word----借助 jquery
    js中 == 、=== 和 Object.is() 的区别
    后端传的是二进制流,前端应该如何通过blob处理二进制文件流格式流,并实现前端下载文件流格式
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/11507139.html
Copyright © 2020-2023  润新知