SuSE11安装MySQL5.6.40:编译安装方式、单实例
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,摘要:SuSE11sp3 64位操作系统、 MySQL5.6.40 编译安装、单实例注:kingtry是我的主机名一、环境准备操作系统:SuSE版本11sp3,64位kingtry:~ # uname
千家信息网最后更新 2025年11月12日SuSE11安装MySQL5.6.40:编译安装方式、单实例
摘要:SuSE11sp3 64位操作系统、 MySQL5.6.40 编译安装、单实例
注:kingtry是我的主机名
一、环境准备
操作系统:SuSE版本11sp3,64位
kingtry:~ # uname -aLinux kingtry 3.0.76-0.11-default #1 SMP Fri Jun 14 08:21:43 UTC 2013 (ccab990) x86_64 x86_64 x86_64 GNU/Linuxkingtry:~ # cat /etc/SuSE-release SUSE Linux Enterprise Server 11 (x86_64)VERSION = 11PATCHLEVEL = 3
二、依赖包
tack-5.6-90.55.x86_64.rpm ncurses-devel-5.6-90.55.x86_64.rpmbison-2.3-127.112.x86_64.rpm
三、编译安装cmake-2.8.4.tar.gz
kingtry:~ # tar -xf cmake-2.8.4.tar.gzkingtry:~ # cd cmake-2.8.4/kingtry:~/cmake-2.8.4 # ./configurekingtry:~/cmake-2.8.4 # make && make install
四、软件准备
mysql-5.6.40.tar.gz
五、安装过程
1、创建群组及用户
kingtry:~ # groupadd mysqlkingtry:~ # useradd -g mysql mysql
2、创建相关目录
kingtry:~ # mkdir -p /data/mysql/{data,tmp} #创建存放数据文件目录,data与tmp之间不能为空格kingtry:~ # chown -R mysql.mysql /data/mysql3、解压文件,并修改解压后的文件夹的名称
kingtry:~ # tar -xf mysql-5.6.40.tar.gz
4、编译安装
kingtry:~ # cd mysql-5.6.40/kingtry:~/mysql-5.6.40 # cmake . -DCMAKE_INSTALL_PREFIX=/root/mysql \ -DSYSCONFDIR=/data/mysql \ -DMYSQL_DATADIR=/data/mysql/data \ -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=allkingtry:~/mysql-5.6.40 # make && make install
六、初始化数据库
注:此处不能使用安装文件下的同名文件(不能使用/root/mysql-5.6.40/scripts/mysql_install_db)
kingtry:~ # /root/mysql/scripts/mysql_install_db --basedir=/root/mysql --datadir=/data/mysql/data --user=mysql
七、创建配置文件/data/mysql/my.cnf
my.cnf内容参考如下:
# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [client]#password = your_passwordport = 3306socket = /data/mysql/mysql.sockdefault-character-set=utf8# Here follows entries for some specific programs# The MySQL server[mysqld]port = 3306basedir = /root/mysqldatadir = /data/mysql/datatmpdir = /data/mysql/tmpsocket = /data/mysql/mysql.sockcharacter-set-server = utf8collation-server = utf8_general_cipid-file = /data/mysql/mysql.piduser = mysql explicit_defaults_for_timestamplower_case_table_names = 1max_connections = 1000back_log = 1024open_files_limit = 10240table_open_cache = 5120 #bind-address = 127.0.0.1 #skip-name-resolveskip-external-lockinglocal-infile = 1 key_buffer_size = 32Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8M # Don't listen on a TCP/IP port at all. This can be a security enhancement,# if all processes that need to connect to mysqld run on the same host.# All interaction with mysqld must be made via Unix sockets or named pipes.# Note that using this option without enabling named pipes on Windows# (via the "enable-named-pipe" option) will render mysqld useless!# #skip-networking # Replication Master Server (default)# binary logging is required for replicationlog-bin = /data/mysql/mysql-bin # binary logging format - mixed recommendedbinlog_format = mixed # required unique id between 1 and 2^32 - 1# defaults to 1 if master-host is not set# but will not function as a master if omittedserver-id = 1 # Replication Slave (comment out master section to use this)## To configure this host as a replication slave, you can choose between# two methods :## 1) Use the CHANGE MASTER TO command (fully described in our manual) -# the syntax is:## CHANGE MASTER TO MASTER_HOST=, MASTER_PORT= ,# MASTER_USER= , MASTER_PASSWORD= ;## where you replace , , by quoted strings and# by the master's port number (3306 by default).## Example:## CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,# MASTER_USER='joe', MASTER_PASSWORD='secret';## OR## 2) Set the variables below. However, in case you choose this method, then# start replication for the first time (even unsuccessfully, for example# if you mistyped the password in master-password and the slave fails to# connect), the slave will create a master.info file, and any later# change in this file to the variables' values below will be ignored and# overridden by the content of the master.info file, unless you shutdown# the slave server, delete master.info and restart the slaver server.# For that reason, you may want to leave the lines below untouched# (commented) and instead use CHANGE MASTER TO (see above)## required unique id between 2 and 2^32 - 1# (and different from the master)# defaults to 2 if master-host is set# but will not function as a slave if omitted#server-id = 2## The replication master for this slave - required#master-host = ## The username the slave will use for authentication when connecting# to the master - required#master-user = ## The password the slave will authenticate with when connecting to# the master - required#master-password = ## The port the master is listening on.# optional - defaults to 3306#master-port = ## binary logging - not required for slaves, but recommended#log-bin=mysql-bin # Uncomment the following if you are using InnoDB tables#innodb_data_home_dir = /var/lib/mysqlinnodb_data_file_path = ibdata1:10M:autoextend#innodb_log_group_home_dir = /var/lib/mysql# You can set .._buffer_pool_size up to 50 - 80 %# of RAM but beware of setting memory usage too highinnodb_buffer_pool_size = 256M#innodb_additional_mem_pool_size = 2M# Set .._log_file_size to 25 % of buffer pool size#innodb_log_file_size = 5M#innodb_log_buffer_size = 8M#innodb_flush_log_at_trx_commit = 1#innodb_lock_wait_timeout = 50innodb_buffer_pool_instances = 2innodb_read_io_threads = 8innodb_write_io_threads = 8innodb_purge_threads = 1 slow_query_log = 1long_query_time = 10log-queries-not-using-indexes log-error = /data/mysql/mysql.err expire-logs-days = 10 [mysqldump]quickmax_allowed_packet = 512Mnet_buffer_length = 16384 [mysql]auto-rehash# Remove the next comment character if you are not familiar with SQL#safe-updates [myisamchk]key_buffer_size = 20Msort_buffer_size = 20Mread_buffer = 2Mwrite_buffer = 2M [mysqlhotcopy]interactive-timeout
八、配置环境变量
kingtry:~ # echo 'export PATH=/root/mysql/bin:$PATH' >> /etc/profilekingtry:~ # source /etc/profile
九、启动MySQL服务
kingtry:~ # touch /data/mysql/mysql.err #当前版本该文件不会自动创建,需要手工创建kingtry:~ # chown mysql.mysql /data/mysql/mysql.errkingtry:~ # mysqld_safe --defaults-file=/data/mysql/my.cnf --user=mysql &
十、安装后配置之root密码修改
默认情况下root密码为空,这在生产环境下肯定不行的。修改root密码的方式有以下两种,随便哪个都行:
1、命令方式(注:首次修改密码,修改前密码为空)
kingtry:~ # mysqladmin -u root password 'root123'
要注意如果执行以上步骤之后root密码已经不为空,如果此时想再次修改root密码,上面命令就不行了,需要用到下面的命令:
kingtry:~ # mysqladmin -u root -p password 'root1234' Enter password:
这是交互式方式修改,输入的当前密码,password参数后面跟随的是想要修改成的密码
十一、客户端连接MySQL服务
kingtry:~ # mysql -uroot -p
十二、防火墙允许3306端口
kingtry:~ # vi /etc/sysconfig/SuSEfirewall2
在FW_SERVICES_EXT_TCP增加3306端口,如果存在其他端口,则空格隔开,如:
FW_SERVICES_EXT_TCP="21 22 3306"
重启防火墙:
kingtry:~ # rcSuSEfirewall2 restart
十三、设置远程访问
先登陆mysql服务器,授权root用户可以远程登陆
mysql> grant all PRIVILEGES on *.* to root@'%' identified by 'root123'; Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql>
注:生产环境最好只允许root在特定IP的机器上才能远程访问。
密码
文件
环境
方式
编译
命令
端口
服务
配置
不行
操作系统
数据
版本
用户
目录
空格
系统
防火墙
准备
生产
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百里骄网络技术有限公司
浙江常规软件开发流程
生态服务器传感器的服务包括
有公网能给数据库用吗
嵌入式软件开发实验文档
基层企业如何贯彻网络安全法
perl查询数据库并获取值
数据库长整数数据类型
网络安全演练的方法
金蝶软件开发岗怎么样
t6服务器找不到系统管理
实现数据库安全性控制的技术
网络技术基础用哪个软件
黑莓主题软件开发
启游网络技术有限公司游戏
初中学计算机网络技术
奥商网络技术有限公司怎么样
金华手机软件开发公司电话
软件开发龙头信息股
软件开发学什么编程比较好
阿里云 换服务器 备案
MT4平台如何选择服务器
手机一直提示没有服务器
在网络安全体系结构响应
大众式网络安全
福建联想服务器维修系统虚拟主机
如何修改数据库编码方式
数据库语言年龄非空int
plsql新建本地数据库
常用专利数据库使用