Mysql数据库安装与配置-单例安装_01

安装前准备
1.安装常规依赖
[root@selisten-node1 ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
2.安装cmake
[root@selisten-node1 ~]# yum -y install cmake
3.安装boost
4.下载mysql5.7
[root@selisten-node1 src]# groupadd mysql
[root@selisten-node1 ~]# cd /usr/local/src/ #下载目录
 
 
编译安装mysql5.7.19
1.创建用户组及用户
[root@mysql1 ~]# groupadd mysql
[root@mysql1 ~]# useradd -r -g mysql -s /bin/false mysql
2.解压mysql-5.7.19
[root@selisten-node1 src]#cd /usr/local/src/
[root@selisten-node1 src]# pwd
/usr/local/src
[root@selisten-node1 src]#tar xvf mysql-5.7.19.tar.gz
[root@selisten-node1 mysql-5.7.19]# pwd
/usr/local/src/mysql-5.7.19
[root@selisten-node1 mysql]# ls /usr/local/src/
mysql-5.7.19 mysql-5.7.19.tar.gz
3.编译安装mysql-5.7.19
[root@selisten-node1 mysql-5.7.19]# pwd
/usr/local/src/mysql-5.7.19
[root@selisten-node1 mysql-5.7.19]#cmake . -DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data -DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
提示:boost 也可以使用如下指令自动下载 -DDOWNLOAD_BOOST=1 替换-DWITH_BOOST=boost_1_59_0/
[root@selisten-node1 mysql-5.7.19]#make
[root@selisten-node1 mysql-5.7.19]#make install
4.初始化数据库
[root@selisten-node1 mysql-5.7.19]# cd /usr/local/mysql/
[root@selisten-node1 mysql]# pwd
/usr/local/mysql
[root@selisten-node1 mysql]#mkdir mysql-files
[root@selisten-node1 mysql]# chown -R mysql.mysql /usr/local/mysql
[root@selisten-node1 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化密码:y5VjyuSW,rx;
[root@selisten-node1 mysql]#bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
5.建立 MySQL 配置文件 my.cnf
[root@selisten-node1 mysql]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
 
6.启动mysql应用
方法一:
方法二:
[root@selisten-node1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@selisten-node1 mysql]# chkconfig --add mysqld
[root@selisten-node1 mysql]# chkconfig mysqld on
[root@selisten-node1 mysql]# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/selisten-node1.com.err'.
SUCCESS!
 
[root@selisten-node1 mysql]# ps -aux|grep mysql
root 20446 0.0 0.0 11812 1616 pts/1 S 00:38 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/selisten-node1.com.pid
mysql 20558 0.7 4.8 1165944 189620 pts/1 Sl 00:38 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=selisten-node1.com.err --pid-file=/usr/local/mysql/data/selisten-node1.com.pid
7.设置path环境变量
[root@selisten-node1 mysql]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) #默认使用的是 mariaDB 的客户端连接的,但是mariaDB默认使用的socket文件是 '/var/lib/mysql/mysql.sock'
[root@mysql2 mysql]# mysql
-bash: mysql: command not found #这种情况是没有安装 mariaDB找不到 mysql 命令
[root@mysql2 mysql]# /usr/local/mysql/bin/mysql #绝对路径mysql客户端是可以使用的
设置path就可以直接使用mysql命令了
[root@selisten-node1 mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@selisten-node1 mysql]# source /etc/profile
 
[root@selisten-node1 mysql]# /usr/local/mysql/bin/mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
注意:
RPM or Yum:
datadir: /var/lib/mysql
源码包 和 预编译:
basedir: datadir:
/usr/local/mysql /usr/local/mysql/data
 
7.客户端连接 mysql 服务器
[root@selisten-node1 mysql]# /usr/local/mysql/bin/mysql -uroot -p"y5VjyuSW,rx;"
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.19
 
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>
连接成功
执行命令报错,原因是首次登录必须改一个自动生成的密码
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
update mysql.user set password=password("456") where user="root" and host="localhost";
 
9.手动修改一下密码:
[root@selisten-node1 mysql]# /usr/local/mysql/bin/mysqladmin -uroot -p"y5VjyuSW,rx;" password 'selisten.666'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
 
确认新密码是否生效
[root@selisten-node1 mysql]# /usr/local/mysql/bin/mysql -uroot -p'selisten.666'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.19 Source distribution
 
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
 
mysql>
 
确认没有问题密码生效,并且可以执行命令了,show databaes;显示出了mysql中的所有库名
 
 
 
 
 

posted @ 2019-03-15 00:21  Brin.Guo  阅读(120)  评论(0)    收藏  举报