欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql-5.5.56版本(二进制包安装)-自定义安装路径

程序员文章站 2022-05-03 17:58:07
mysql-5.5.56版本(二进制包安装)-自定义安装路径 安装路径:/application/mysql-5.5.56 1.前期准备 mysql依赖 libaio y...

mysql-5.5.56版本(二进制包安装)-自定义安装路径

安装路径:/application/mysql-5.5.56

1.前期准备

mysql依赖

libaio

yum install -y libaio

创建用户mysql,以该用户的身份执行mysql

useradd -s /bin/false -m mysql

下载mysql二进制包并解压

cd /tools

wget https://dev.mysql.com/get/downloads/mysql-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz

tar -zxf mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz -c /application/

切换到/application目录,将mysql文件夹名改短,给mysql目录做一个软链接

cd /application/

mv mysql-5.5.56-linux-glibc2.5-x86_64/ mysql-5.5.56

ln -s mysql-5.5.56/ mysql

递归设置mysql目录的所属组和所属用户

chown -r mysql:mysql mysql-5.5.56/

2.mysql目录内操作

cd mysql

初始化

会在mysql目录内生成一个data目录,存放数据库的目录

./scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql

更改所属用户和组

chown -r root .

chown -r mysql data

除了mysql目录下的data目录所属用户不变,其他所有文件的所属用户改为root

拷贝配置文件

cp support-files/my-medium.cnf /etc/my.cnf

将mysql的配置文件拷贝为/etc/目录下的my.cnf

修改配置文件

sed -i 28i'log-error=/application/mysql/data/mysqld.error' /etc/my.cnf

在配置文件插入了一行,进行配置错误日志

/etc/my.cnf content:

# example mysql config file for medium systems.

#

# this is for a system with little memory (32m - 64m) where mysql plays

# an important part, or systems up to 128m where mysql is used together with

# other programs (such as a web server)

#

# mysql programs look for option files in a set of

# locations which depend on the deployment platform.

# you can copy this option file to one of those

# locations. for information about these locations, see:

# https://dev.mysql.com/doc/mysql/en/option-files.html

#

# in this file, you can use all long options that a program supports.

# if you want to know which options a program supports, run the program

# with the "--help" option.

# the following options will be passed to all mysql clients

[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock

# here follows entries for some specific programs

# the mysql server

[mysqld]

port = 3306

log-error=/application/mysql/data/mysqld.error

socket = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16m

max_allowed_packet = 1m

table_open_cache = 64

sort_buffer_size = 512k

net_buffer_length = 8k

read_buffer_size = 256k

read_rnd_buffer_size = 512k

myisam_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 replication

log-bin=mysql-bin

# binary logging format - mixed recommended

binlog_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 omitted

server-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 = /usr/local/mysql/data

#innodb_data_file_path = ibdata1:10m:autoextend

#innodb_log_group_home_dir = /usr/local/mysql/data

# you can set .._buffer_pool_size up to 50 - 80 %

# of ram but beware of setting memory usage too high

#innodb_buffer_pool_size = 16m

#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 = 50

[mysqldump]

quick

max_allowed_packet = 16m

[mysql]

no-auto-rehash

# remove the next comment character if you are not familiar with sql

#safe-updates

[myisamchk]

key_buffer_size = 20m

sort_buffer_size = 20m

read_buffer = 2m

write_buffer = 2m

[mysqlhotcopy]

interactive-timeout

拷贝启动程序

cp support-files/mysql.server /etc/init.d/mysql

将mysql的启动程序拷贝到/etc/init.d/目录下,以便启动程序

编辑启动文件,配置启动目录

方法一:

思路是给配置文件提供的变量进行赋值。较麻烦。

sed -i ':a;n;$!ba;s/basedir=\ndatadir=/basedir=\/application\/mysql\ndatadir=\/application\/mysql\/data/g' /etc/init.d/mysql

sed -i ':a;n;$!ba;s/mysqld_pid_file_path=\n/mysqld_pid_file_path=\/application\/mysql\/data\/mysqld.pid\n/g' /etc/init.d/mysql

等价于将45、46两行

basedir=

datadir=

mysqld_pid_file_path=

替换成

basedir=/application/mysql

datadir=/application/mysql/data

mysqld_pid_file_path=/application/mysql/data/mysql.pid

方法二(推荐):

思路是将脚本的默认地址(/usr/local/mysql)直接替换成自定义路径(/application/mysql),便不用给变量赋值

sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysql

到这里mysql安装完成可以正常启动

3.后期结尾

命令创建软链接

将mysql命令创建软链接到环境变量的目录,使用户可以在变量找到相应的命令

ln -s /application/mysql/bin/* /usr/local/sbin

设置与修改密码

第一次设置密码:

mysqladmin -u'' password ''

例子:

mysqladmin -u'root' password 'password'

往后修改密码:

mysqladmin -u'' -p'' password ''

例子:

mysqladmin -u'root' -p'password' password 'newpassword'

登录mysql

$ mysql -u'root' -p'password'

welcome to the mysql monitor. commands end with ; or \g.

...

mysql> #成功登陆到mysql控制台

$ mysql -uroot -ppassword

welcome to the mysql monitor. commands end with ; or \g.

...

mysql> #成功登陆到mysql控制台

$ mysql -u'root' -p

enter password: #这里输入用户的密码

welcome to the mysql monitor. commands end with ; or \g.

...

mysql> #成功登陆到mysql控制台

$ mysql -uroot -p

enter password: #这里输入用户的密码

welcome to the mysql monitor. commands end with ; or \g.

...

mysql> #成功登陆到mysql控制台

键入quit或ctrl + d退出mysql环境

mysql> quit

bye

[root@www mysql]#

or

mysql> ^dbye

[root@www mysql]#

4.常用命令

进入mysql

mysql -u'root' -p'password'

mysql -uroot -ppassword

mysql -u'root' -p

mysql -uroot -p

启动mysql

service mysql start

停止mysql

service mysql stop

重启mysql

service mysql restart