MySQL5.5源码安装----Cmake(多实例)
来源:互联网 发布:广州数据分析师 编辑:程序博客网 时间:2024/05/17 21:56
一、环境
OS 环境:Linux db01 2.6.32-431.el6.i686MySQL 版本:mysql-5.5.44MySQL安装路径:/usr/local/mysqlMySQL数据路径:/dataMySQL 端口:3506 3507MySQL服务器ip:10.0.0.61
二、准备工作
1. 依赖包安装
yum install ncurses-devel libaio-devel gcc gcc-c++ bison -y
2. 安装编译软件
yum install cmake -y
3. 创建管理用户
useradd mysql -s /sbin/nologin -M
4. 解压软件包
mkdir /appcd /app && tar mysql-5.5.44.tar.gzcd mysql-5.5.44
三、MySQL安装
1. Cmake编译
cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DENABLED_LOCAL_INFILE=1 \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \-DWITH_FAST_MUTEXES=1 \-DWITH_ZLIB=bundled \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0
2. install(时间较长)
make && make install && cd ..
3.配置文件
mkdir /data/{3506,3507}/data -p && cd /datatouch my.cnf mysqld
(1)编辑配置文件 vim my.cnf
[client]port = 3507 # 注意与3506实例区分socket = /data/3507/mysql.sock[mysqld]port = 3507socket = /data/3507/mysql.sockbasedir = /usr/local/mysqldatadir = /data/3507/dataopen_files_limit = 1024back_log = 600max_connections = 800max_connect_errors = 3000table_cache = 614external-locking = FALSEmax_allowed_packet = 8Msort_buffer_size = 1Mjoin_buffer_size = 1Mthread_cache_size = 100thread_concurrency = 2query_cache_size = 2Mquery_cache_limit = 1Mquery_cache_min_res_unit = 2kthread_stack = 192ktmp_table_size = 2Mmax_heap_table_size = 2Mlong_query_time = 1pid-file = /data/3507/mysqld.pidlog-bin = /data/3507/mysqld-binrelay-log = /data/3507/relay-binrelay-log-info-file = /data/3507/relay-log.infoexpire_logs_days = 7key_buffer_size = 16Mread_buffer_size = 1Mread_rnd_buffer_size = 1Mbulk_insert_buffer_size = 1Mlower_case_table_names = 1skip-name-resolveslave-skip-errors = 1032,1062replicate-ignore-db = mysqlserver-id = 3 # 注意与3506实例区分innodb_additional_mem_pool_size = 4Minnodb_buffer_pool_size = 32Minnodb_data_file_path = ibdata1:128M:autoextendinnodb_file_io_threads = 4innodb_thread_concurrency = 8innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 4Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120innodb_file_per_table = 0[mysqldump]quickmax_allowed_packet = 2M[mysqld_safe]log-error = /data/3507/mysql_lee3507.errpid-file = /data/3507/mysqld.pid
(2)编辑启动文件 vim mysqld
#!/bin/sh###################################This scripts is created by Lee at 2017-12-10#for mysql-multi###################################initport=3507 # 注意与3506实例区分mysql_user="root"mysql_pwd="admin07" # 注意密码设置(见后文)CmdPath="/usr/local/mysql/bin"mysql_sock="/data/${port}/mysql.sock"#startup functionfunction_start(){ if [ ! -e "$mysql_sock" ];then printf "Starting Mysql ...\n" /bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null & else printf "Mysql is running ...\n" exit fi}#stop functinofunction_stop(){ if [ ! -e "$mysql_sock" ];then printf "Mysql is stopped...\n" exit else printf "Stoping Mysql...\n" ${CmdPath}/mysqladmin -u ${msyql_user} -p${msyql_pwd} -S /data/${port}/mysql.sock shutdown fi}#retart functionfunction_retart(){ printf "Restarting Mysql...\n" function_stop sleep 2 function_start}case $1 instart) function_start;;stop) function_stop;;restart) function_restart;;*) printf "Usage: /data/${port}/mysqld {start|stop|restart}\n"esac
(3)分配配置文件给实例
cp /data/my.cnf mysqld /data/3506/cp /data/my.cnf mysqld /data/3507/sed -i 's#3507#3506#g' /data/3506/my.cnf /data/3506/mysqld
4.权限设置
find /data -name mysqld |xargs chmod 744 # 为启动文件添加可执行权限chown -R mysql:mysql /data # 给mysql用户赋予管理data目录的权限chown -R mysql:mysql /usr/local/mysql
5. 实例初始化
cd /usr/local/mysql/scripts/./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/3506/data --user=mysql./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data/3507/data --user=mysql
6. 设置环境变量(此处使用加入到默认的环境变量目录下)
cp /usr/local/mysql/bin/* /usr/local/sbin/
7. 规范启动文件
ln -s /data/3506/mysqld /etc/init.d/mysqld3506ln -s /data/3507/mysqld /etc/init.d/mysqld3507
四、MySQL测试使用
1. 启动服务
/etc/init.d/mysqld3306 start /etc/init.d/mysqld3307 start或者 /data/3506/mysqld start /data/3507/mysqld start
1. 查看端口是否启动
netstat -tunlp |grep 350tcp 0 0 0.0.0.0:3506 0.0.0.0:* LISTEN 18545/mysqld tcp 0 0 0.0.0.0:3507 0.0.0.0:* LISTEN 19902/mysqld
3. 登录mysql(多实例mysql启动使用-S 指定socket)
mysql -S /data/3507/mysql.sock # 默认无密码登录(在未设置密码前)mysql -uroot -p -S /data/3507/mysql.sock
4. 远程登录设置
mysql -uroot -p -S /data/3506/mysql.sock -h 10.0.0.51 -P 3506 #远程登录(大写的P指定端口)ERROR 1130 (HY000): Host '10.0.0.61' is not allowed to connect to this MySQL server
授权
备注:允许在ip为10.0.0.61的主机上登录mysql(mysql服务器ip为10.0.0.51)[root@db01 data]# mysql -uroot -p -S /data/3506/mysql.sock)Enter password: mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.0.0.61' IDENTIFIED BY 'admin06' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES;
5. 密码设置
(1)初始化密码
mysqladmin password admin -S /data/3506/mysql.sock # 为3506设置密码mysqladmin password admin07 -S /data/3507/mysql.sock # 为3507设置密码mysql -uroot -padmin -S /data/3506/mysql.sock # 登录3506
(2)修改密码
mysqladmin -padmin password admin06 -S /data/3506/mysql.sock # 更改3506的密码mysql -uroot -padmin -S /data/3506/mysql.sock # 使用原来的密码登录3506ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) mysql -uroot -padmin06 -S /data/3506/mysql.sock # 使用新密码登录3506(修改成功)
特别感谢:Oldboy老师的指导!
阅读全文
0 0
- MySQL5.5源码安装----Cmake(多实例)
- cmake编译安装mysql5.5
- MySQL安装-源码方式-linux下cmake源码安装mysql5.5.27
- 使用cmake安装mysql5.5.13
- 使用cmake安装mysql5.5.13
- Cmake MySQL5.6 编译安装
- 使用cmake安装mysql5.5.13
- mysql5.7多实例安装
- mysql5.5.49多实例安装
- mysql5.6多实例安装
- Linux 源码安装Mysql5.5
- linux 源码安装mysql5.5
- 源码编译安装 Mysql5.5
- mysql5.5源码编译安装
- Linux下Mysql5.5的Cmake安装以及sphinx结合
- MySQL5.5安装出现CMake错误找不到CMakelists.txt原因
- Linux下Mysql5.5的Cmake安装以及sphinx结合
- CentOS 6.x下cmake编译方式安装MySQL5.5
- Red Black Tree
- 设计模式之Singleton模式
- npp正则使用,很方便,就是需要会正则,正则一直是偶头疼的东东
- android仿网易云音乐、即时通讯、bilibili、沙漏动画等源码
- 给springboot加上druid控制台
- MySQL5.5源码安装----Cmake(多实例)
- JS模块加载
- postgis快速入门
- 如何在esxi中为linux添加网卡
- pyspark之DataFrame学习【dataFrame查询】(3)
- Android--储存大小标准格式
- 前端存储技术
- 【前端】html端输入数据,利用qrcode.js生成打印二维码
- 从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)