时间:2020-12-19 11:26:41 | 栏目:Mysql | 点击:次
安装路径:/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: # http://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