二、mysql/mariadb.server安装教程:
1、centos6.5下安装mysql-server //1、查询mysql-server并安装mysql软件 [root@localhost ~]# yum info mysql-server //查询mysql-server安装包 Name : mysql-server Arch : x86_64 Version : 5.1.73 Release : 8.el6_8 Size : 8.6 M //2、安装mysql-server程序 [root@localhost ~]# yum install -y mysql-server //安装centos6.x里面自带mysql-server版本,若需要新版本,可以去配置yum源,下文有配置教程 Installed: mysql-server.x86_64 0:5.1.73-8.el6_8 Dependency Installed: mysql.x86_64 0:5.1.73-8.el6_8 perl-DBD-MySQL.x86_64 0:4.013-3.el6 //3、查看mysql-server安装是否成功 [root@localhost ~]# rpm -ql mysql-server /etc/rc.d/init.d/mysqld //启动文件 /usr/libexec/mysqld //数据库的主程序、二进制程序 /var/lib/mysql //将来存放用户数据的数据目录 /var/log/mysqld.log //日志文件包 /var/run/mysqld //4、设置程序密码安全 [root@localhost ~]# mysql_secure_installation //5、设置开机自启动 [root@localhost ~]# chkconfig --list mysqld mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@localhost ~]# chkconfig mysqld on [root@localhost ~]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off //6、启动mysqld程序 [root@localhost ~]# service mysqld start [root@localhost ~]# ss -tnl //查看它的端口号 LISTEN 0 50 *:3306 //7、查看mysql配置文件 [root@localhost ~]# ll /var/lib/mysql/ //第一次启动的时候会生成数据库文件。 total 20488 -rw-rw---- 1 mysql mysql 10485760 Nov 5 18:04 ibdata1 -rw-rw---- 1 mysql mysql 5242880 Nov 5 18:04 ib_logfile0 -rw-rw---- 1 mysql mysql 5242880 Nov 5 18:04 ib_logfile1 drwx------ 2 mysql mysql 4096 Nov 5 18:04 mysql srwxrwxrwx 1 mysql mysql 0 Nov 5 18:04 mysql.sock //mysql.sock主要用于本地通讯 drwx------ 2 mysql mysql 4096 Nov 5 18:04 test [root@localhost ~]# date //通过时间可以看出来 Thu Nov 5 18:07:13 CST 2020 //8、利用mysql客户端工具去链接mysql数据库 [root@localhost ~]# which mysql /usr/bin/mysql [root@localhost ~]# rpm -qf /usr/bin/mysql //属于哪个包 mysql-5.1.73-8.el6_8.x86_64 //9、mysql客户端下常用操作: [root@localhost ~]# mysql //默认是无密码登录,未设置密码默认无密码。 Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. //输入“help;”或“\h”请求帮助。键入‘\c‘以清除当前输入语句。 mysql> show databases; //查询当前系统中所有数据库列表 +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+ 3 rows in set (0.00 sec) mysql> system hostname //mysql下可以执行linux命令 localhost.localdomain mysql> status //查看系统的状态信息 Current database: //当前不在任何数据库里 Current user: root@localhost //当前与数据库连接时的用户名 ,是MySQL账户自身的用户;我是在本机用root登录到数据库中 mysql> use mysql //切换到mysql数据库 Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A mysql> status Current database: mysql //当前在mysql数据库中 Current user: root@localhost mysql> \s // \s也可以表示为status,是status的简写 mysql>quit //退出mysql客户端
2、centos7.x下安装mariadb-server服务:
//1、安装部署mariadb-server [root@localhost ~]# yum install mariadb-server -y Installing: mariadb-server x86_64 1:5.5.65-1.el7 //服务器端包 Installing for dependencies: mariadb x86_64 1:5.5.65-1.el7 //客户端包 //2、查看mysql安装路径,及部署的版本 [root@localhost bin]# which mysql /usr/bin/mysql [root@localhost bin]# rpm -qf /usr/bin/mysql mariadb-5.5.65-1.el7.x86_64 //3、登录mysql客户端 [root@localhost ~]# mysql //服务没有启动;mysql.sock文件不会生成 ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘ /var/lib/mysql/mysql.sock‘ [root@localhost ~]# rpm -ql mariadb-server //查看mariadb包含的包列表 /usr/lib/systemd/system/mariadb.service //服务名,意外的我们后期操作时使用mariadb.service /var/lib/mysql /var/log/mariadb /var/log/mariadb/mariadb.log /var/run/mariadb //4、启动mariad.service [root@localhost ~]# systemctl start mariadb.service [root@localhost ~]# ss -tunlp |grep mysqld tcp LISTEN 0 50 *:3306 *:* users:(("mysqld",pid=115344,fd=14)) root@localhost ~]# pstree -p //mysql工作原理是基于单进程多线程 [root@localhost ~]# ll /var/lib/mysql/ //存放的就是数据库的列表 total 28700 drwx------ 2 mysql mysql 4096 Nov 5 21:56 mysql srwxrwxrwx 1 mysql mysql 0 Nov 5 21:56 mysql.sock drwx------ 2 mysql mysql 4096 Nov 5 21:56 performance_schema //在内存里虚拟的数据库 drwx------ 2 mysql mysql 6 Nov 5 21:56 test //5、mysql数据库一般操作; MariaDB [(none)]> show databases; //查看支持的数据库列表 +--------------------+ | Database | +--------------------+| | mysql | //利用复制的方法克隆一个数据库 [root@localhost ~]# cd /var/lib/mysql/ //进入到mysql数据库列表文件夹 [root@localhost mysql]# cp -a mysql mysqlclone //克隆一个mysql数据库mysqlclone MariaDB [(none)]> show databases; //此时可以看到mysqlclone数据库 +--------------------+ | Database | +--------------------+| | mysql | | mysqlclone 注:克隆技术 //此方法也可以用作数据库备份的时候方案,一种备份手段 //但要确保数据库的一致性,数据完整性,确保同一时间点的一个文件
3、mysql数据库的常用操作:
MariaDB [(none)]> use mysqlclone //use把当前访问的数据库切换到目标数据库 Database changed MariaDB [mysqlclone]> MariaDB [mysqlclone]> show tables; //查看这个数据库中有哪些表 MariaDB [mysqlclone]> select * from user; //查询user这个表里的内容; MariaDB [mysqlclone]> select * from user\G //加\G表示横着往下写 MariaDB [mysqlclone]> drop database mysqlclone; //删掉数据库mysqlclone Query OK, 24 rows affected (0.07 sec) MariaDB [mysqlclone]> drop tables mysqlclone; //删掉数据库里的表 MariaDB [(none)]> system id uid=0(root) gid=0(root) groups=0(root) MariaDB [(none)]> select user(); //查看当前登录的用户 MariaDB [mysql]> select user,password,host from user; //查看服务器中创建的用户信息 +------+----------+-----------------------+ | user | password | host | +------+----------+-----------------------+ | root | | localhost | //密码是空的 | root | | localhost.localdomain | | root | | 127.0.0.1 | | root | | ::1 | | | | localhost | | | | localhost.localdomain | +------+----------+-----------------------+ 6 rows in set (0.00 sec)
4、设置mysql数据库的密码安全:
//1、执行系统自带的安全脚本 [root@localhost ~]# which mysql_secure_installation /usr/bin/mysql_secure_installation [root@localhost ~]# mysql_secure_installation Enter current password for root (enter for none): //输入当前root账号的口令,没有口令直接回车 Set root password? [Y/n] y //是否设置root账号的密码 New password: //新密码 Re-enter new password: //再次输入密码 Remove anonymous users? [Y/n] y //是否删除匿名账号 Disallow root login remotely? [Y/n] n //是否精致root账号远程登录 Remove test database and access to it? [Y/n] y //是否删除测试数据库 Reload privilege tables now? [Y/n] //加载特权表为的就是让你刚才的设置生效 [root@localhost ~]# mysql -uroot -p123456 //登录mysql数据库 MariaDB [(none)]> use mysql MariaDB [mysql]> select user,host,password from user; //mysql数据库中查看用户的信息表 +------+-----------------------+-------------------------------------------+ | user | host | password | +------+-----------------------+-------------------------------------------+ | root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | localhost.localdomain | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | +------+-----------------------+-------------------------------------------+ 4 rows in set (0.00 sec) 注: //mysql下用户名是有两部分组成;user=username@host “ root | localhost ” 这是一个账号; // host表示你从那台电脑上登录; // 127.0.0.1 默认情况下登录mysql主机的ip地址,默认情况下不允许远程登录。 // 上面的4个账号都是我们本机的,远程主机是连不上来的。 // 远程主机想连到这台服务器的mysql数据库, [root@localhost ~]# mysql -uroot -p123456 -h 192.168.1.58 //此时还是连不了,需要在mysql服务器上授权
5、mariadb客户端程序常用操作: 客户端程序: mysql:交互式的CLI工具 mysqldump:备份工具,基于MySQL协议向MySQLd发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中。 mysqladmin:基于mysql协议管理mysqld mysqlimport:数据导入工具 myIsam存储引擎的管理工具: myisamchk:检查myisam库 myisampack:打包myisam表,只读 服务器端程序: mysqld_safe mysqld mysqld_multi:多实例,示例:mysqld_multi --example
//常用操作: [root@localhost ~]# ps -aux //可以查看到上面两个服务端程序 mysql 115182 /bin/sh /usr/bin/mysqld_safe --basedir=/usr mysql 115344 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql [root@localhost ~]# getent passwd mysql //查看mysql的信息 mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin // /var/lib/mysql它的家目录; [root@localhost ~]# rpm -q --scripts mariadb-server //查看它安装程序的时候以什么方式 [root@localhost ~]# which mysqld_multi //查看该程序 /usr/bin/mysqld_multi [root@localhost ~]# rpm -qf /usr/bin/mysqld_multi //此程序实现多实例, mariadb-server-5.5.65-1.el7.x86_64
5.1、用户账号:mysql用户账号由两部分组成:‘USERNAME‘@HOST‘;说明:HOST限制此用户可通过哪些远程主机连接MySQL服务器 br/>mysql用户账号由两部分组成:‘USERNAME‘@HOST‘;说明:HOST限制此用户可通过哪些远程主机连接MySQL服务器 5.2、MySQL客户端使用模式: 交互式模式:可运行命令有两类: 客户端命令:\h:help \u:use \s:status !:system //MySQL客户端自身的命令,就是在数据库中 \h或者\help可以查询到的命令,都属于客户端命令,不需要加分号。 服务器端命令:SQL,需要语句结束符; //服务器端命令需要加分号。 脚本模式: mysql -uUSERNAME -PASSWORD < /path/somefile.sql mysql> source /path/from/somefile.sql
//创建数据库: MariaDB [(none)]> create database testdb; MariaDB [(none)]> show databases; | testdb | MariaDB [(none)]> \! ls /var/lib/mysql //在MySQL数据库之下执行linux命令 testdb MariaDB [(none)]> \! ls /var/lib/mysql/testdb db.opt //方法一:交互式的方法 [root@localhost ~]# cat > test.sql //准备配置文件 create database testdb2; show databases; ^C [root@localhost ~]# cat test.sql create database testdb2; show databases; //方法二:以重定向的方式 [root@localhost ~]# mysql -uroot -p123456 <test.sql //以重定向的方式去执行命令,相当于执行一个脚本; Database information_schema mysql performance_schema testdb testdb2 //方案三:以source命令去创建 MariaDB [(none)]> source test.sql +--------------------+ | Database | +--------------------+ | testdb | | testdb2 | | testdb3 | +--------------------+ 6 rows in set (0.00 sec)
5.3、mariadb服务器提示符更改
//mariadb服务器提示符更改: //方案一: MariaDB [(none)]> prompt \u@[\D] \r:\m:\s-> //更改当前的用户提示信息;一次性的,重新登入会丢失 PROMPT set to ‘\u@[\D] \r:\m:\s->‘ root@[Fri Nov 6 21:40:24 2020] 09:40:24-> //若想长期保存,需要保存到配置文件中。 //方案二: [root@localhost ~]# ls /etc/my.cnf.d/ client.cnf //针对全局的配置 mysql-clients.cnf //针对MySQL这个数据库配置 server.cnf //针对服务器的配置 [root@localhost ~]# vim /etc/my.cnf.d/mysql-clients.cnf prompt=(\\u@\\h) [\\d]>\(root@localhost) [(none)]> //登录数据库查看状态 //方案三: [root@localhost ~]# vim /etc/profile.d/mysql.sh export MYSQL_PS1="(\u@\h) [\d]> " [root@localhost ~]# . /etc/profile.d/mysql.sh (root@localhost) [(none)]>
5.4、MySQL客户端常用选项:
MySQL客户端可用选项: -A --no-auto-rehash 禁止补全 -u --user= 用户名,默认是root -h -- host= 服务器主机,默认为localhost -p --password= 用户密码,建议使用-p默认为空密码 -P --port= 服务器端口, -S --sockt= 指定连接socket文件路径 -D --database= 指定默认数据库 -C --compress= 启用压缩 -e --“SQL”= 执行SQL命令 -V -- version= 显示版本信息 -v --verbose= 显示详细信息 --prin-defaults 获取程序默认使用的配置 (root@localhost) [(none)]> \s //可以查看到当前数据库sock文件的地址 UNIX socket: /var/lib/mysql/mysql.sock [root@localhost ~]# mysql -uroot -p123456 -D testdb //登录时可以直接指定到testdb数据库中-D选项 (root@localhost) [testdb]> [root@localhost ~]# mysql -uroot -p123456 -e "show databases;" //在登录的时候执行命令 -e选项 +--------------------+ | testdb2 | | testdb3 | +--------------------+ [root@localhost ~]# mysql -uroot -p123456 -V //查看版本信息 mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1
6、mysql.sock文件信息: socket地址: 服务器监听的两种socket地址: ip socket:监听在tcp的3306端口,支持远程通信 unix sock:监听在sock文件上,仅支持本机通讯 如:/var/lib/mysql/mysql.sock; 说明:host为localhost,127.0.0.1时自动使用Unix sock 执行命令: 运行MySQL命令:默认空密码登录 mysql>use mysql mysql>select use(); 查看当前用户 mysql>SELECT User,Host,Password FROM user; 登录系统: mysql -uroot -p 客户端命令: 本地执行 mysql > help 每个命令都有完整形式和简写格式 mysql> status 或 \ 服务器端命令: 通过mysql协议发往服务器执行并取回结果 每个命令都必须结束符号;默认为分号 SELECCT VERSION();
[root@localhost ~]# cat /etc/my.cnf [mysqld] //主要存放着我们服务器端的配置 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid //进程配置地址 [root@localhost ~]# cat /var/run/mariadb/mariadb.pid 10682 //只要进程起来,就会生成一个进程文件
7、服务器端配置: 服务器端(mysqld):工作特征有多种配置方式; 1、命令行选项: 2、配置文件,类ini格式 3、集中式的配置,能够为mysql的个应用程序提供配置信息 [mysqld] //服务器端配置 [mysqld_safe] //服务器端配置 [mysqld_multi] //多进程、多线程配置 [mysql] //MySQL、数据库配置;客户端 [mysqldump] //备份配置 [server] //服务器端配置 [client] //客户端配置 格式:parameter = value 说明:_和-相同 0,OFF,TRUE意义相同,1,ON,FALSE意义相同。 7.1、配置文件:后面覆盖前面的配置文件,顺序如下:(从后向前面覆盖式)
[root@localhost ~]# /etc/my.cnf //Global选项;表示所有实例 ;我们一般写在此位置 或者/etc/my.cnf.d下也可以,因为/etc/my.cnf包含/etc/my.cnf.d文件 /etc/mysql/my.cnf //Global全局选项 全局性的设置 SYSCONFDIR/my.cnf //Global选项 $MYSQL_HOME/my.cnf //Server-specific 选项 特定服务器的设定 --defaults-extra-file=path ~/my.cnf // User-specific选项 特定用户下设定的 //获取可用参数列表: mysqld --help -verbose mysqld --print-defaults 获取默认设置
8、Mariadb配置:侦听3306/tcp端口可以在绑定有一个或全部接口IP上, vim /etc/my.cnf [mysqld] skip-networking=1 关闭网络连接(远程不可以连接,只能本地连接),只侦听本地客户端,所有和服务器的交互都通过一个socket实现,socket的配置存放在/var/lib/mysql/mysql.sock)可在/etc/my.cnf修改。
[root@localhost ~]# vim /etc/my.cnf skip-networking=1 //在这个语句块里加上skip-networking=1重启服务 [root@localhost ~]# ss -antl //查看此时找不到tcp的3306端口 [root@localhost ~]# mysql -uroot -p123456 //还是可以连上数据库,因为此时它不走tcp的3306端口; 它走的是本地的sock文件,
三、在不同操作系统下,配置指定版本的mysql/mariadb程序: 根据官网教程,配置官网yum源地址: 1、包下载地址:https://downloads.mariadb.org/mariadb/10.2.35/ 选择你要安装的版本;
官方提供三种格式文件: Source——源码 Binaries——二进制 Packages——rpm包(针对centos,Redhat,Ubuntu系列的)
2、Repository Configuration Tool.(存储库工具): 直接告诉你配置教程;YUM仓库地址: https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64--centos7&mirror=ustc-hefei&version=10.2
3、安装配置:直接配置特定版本的yum源,直接安装此版本
[root@localhost ~]# vim /etc/yum.repos.d/base.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 [root@localhost ~]# yum repolist //查看yum源中是否有软件包 [root@localhost ~]# yum install -y mariadb-server //我们默认是linux系统源里面有mariadb, 现在又配置一个mariadb源,系统默认会装最新版本的。 10.2.35-1.el7.centos mariadb
NO.A.0002——mysql/mariadb5.5.65——yum安装/配置
标签:ibdata1 源代码 change 设置密码 交互式 mysq export unity 常用
查看更多关于NO.A.0002——mysql/mariadb5.5.65——yum安装/配置的详细内容...