[教程]centos卸载、安装mysql(源码编译安装方式)

-----------1 卸载系统自带的msyql包 
rpm -qa|grep mysql


rpm -e --nodeps mysql-server-5.1.71-1.el6.x86_64 --强制卸载mysql安装程序
rpm -e mysql-server-5.1.71-1.el6.x86_64 -- 有依赖关系,无法卸载


---------- 2 安装cmake 编译软件 mysql5.6开始不使用configure 方式 
yum -y install cmake make


---------- 3 安装mysql 的依赖包,其他linux 需要一个个软件下载 编译安装 
yum install gcc gcc-c++ autoconf bison automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* -y


---------- 4 创建mysql 目录 存放日志和数据文件等 并更改目录拥有者
mkdir /mysql 
mkdir /mysql/data
mkdir /mysql/logs
mkdir /mysql/data/socket
chown mysql.mysql -R /mysql

---------- 5 创建mysql用户并不允许登录系统
groupadd mysql 
useradd mysql -g mysql -s /sbin/nologin


---------- 6 解压(需要切换到mysql-5.6.19.tar.gz的存放目录)
tar -zxvf mysql-5.6.19.tar.gz


---------- 7 进入mysql解压目录
cd mysql-5.6.19


---------- 8 编译 
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/mysql/data/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS:STRING=utf8
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_DATADIR=/mysql/data/
-DMYSQL_USER=root
-DMYSQL_TCP_PORT=3306

cmake
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
 -DDEFAULT_CHARSET=utf8
 -DDEFAULT_COLLATION=utf8_general_ci
 -DWITH_INNOBASE_STORAGE_engine=1
 -DWITH_ARCHIVE_STORAGE_ENGINE=1
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1
 -DMYSQL_DATADIR=/data/mysqldb
 -DMYSQL_TCP_PORT=3306
 -DENABLE_DOWNLOADS=1

--------- 9 make 安装 
make

--------- 10 make 安装 
make install 

--------- 11 负载启动命令道系统启动目录 
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

--------- 12 设置为开机启动 chkconfig --list|grep mysqld 检测是否已经设置为开机启动
chkconfig mysqld on


--------- 13 复制mysql命令道系统环境变量
cp /usr/local/mysql/bin/mysql /usr/bin/mysql
cp /usr/local/mysql/bin/mysql /usr/local/bin/mysql

--------- 14 初始化mysql系统数据库 (需要回到/根目录执行)
./usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data

--------- 15 mysql 修改密码 -------------------------
> use mysql;
> UPDATE user SET password=PASSWORD('txt!@#123txt');
> FLUSH PRIVILEGES;

--------- 16 删除不必要的用于
> delete from user where host <> 'localhost';
> update user set host='%'; 
> FLUSH PRIVILEGES;


--------------------------------------------附---------------------------------------------
grant all privileges on *.* to root@'%' identified by "txt!@#123txt";


vi /etc/my.cnf


[mysqld]

innodb_file_per_table=ON
skip-name-resolve
skip-grant-tables
port=3306


wait_timeout=315360000
interactive_timeout=315360000


basedir=/usr/local/mysql

datadir=/mysql/data/

log-error=/mysql/logs/mysql.log

socket=/mysql/data/socket/mysql.sock

lower_case_table_names=1
character-set-server=utf8
open_files_limit=102400

back_log=600

max_connections=10000
max_connect_errors=6000

sort_buffer_size=2M

max_allowed_packet=64M

thread_cache_size=256
thread_concurrency=16

binlog_format = row
log-bin=mysql-bin

#innodb config
innodb_buffer_pool_size=4096M
#innodb_file_io_threads=8
innodb_read_io_threads=8
innodb_write_io_threads=8
innodb_log_buffer_size=32M
innodb_log_file_size=2048M
innodb_log_files_in_group=3
innodb_max_dirty_pages_pct=90

innodb_lock_wait_timeout=300

explicit_defaults_for_timestamp=true

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]
socket=/mysql/data/socket/mysql.sock
default-character-set=utf8
port=3306

原文地址:https://www.cnblogs.com/sqbk/p/5888331.html