十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
mysql连接可分为socket连接和TCP|IP连接两种。
成都创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元垫江做网站,已为上家服务,为垫江各地企业和个人服务,联系电话:18980820575
[root@localhost bin]# mysql -uroot -p123456 -S/tmp/mysql.sock
-S/tmp/mysql.sock可以省略,因为默认参数如下:
假如sock文件另有其它,那么就后面不能省略,需要指定下。
mysql -h127.0.0.1 -P3306 -uroot -p123456
那么问题来了,如何知道当前连接的连接方式?
查看当前连接方式,使用\s 或者status命令
Connection: Localhost via UNIX socket 表示使用 socket 进行本地的连接
SSL: Not in use 没有使用SSL
Connection: 127.0.0.1 via TCP/IP 使用TCP/IP 协议进行远程连接
SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256 使用了SSL加密
mysql5.7默认是使用SSL的方式来进行通讯的。
/s输出SSL: Not in use,说明当前没有使用SSL连接。
再看下error.log有一个waning:failed to set up SSL because of the following SSL liberary error:SSL context is not usable withut certificate and private key。公密钥文件不存在,所以无法启用SSL的连接方式。
1、进入bin目录执行命令: mysql_ssl_rsa_setup 在/data 根目录 生成相关的*.pem 密钥文件。
2、对新生成到pem文件授权chown mysql:mysql *.pem
3、 /etc/init.d/mysqld restart 重启mysql
4、进入命令客户端执行\s
使用IP/TCP远程连接时,\s输出 SSL: Cipher in use is ECDHE-RSA-AES128-GCM-SHA256。说明已经用上SSL加密。
使用socket进行本地连接,就不会使用SSL加密。\s输出SSL: Not in use;
因为SSL开启可能有性能影响。如果不希望使用ssl加密登录连接,那么可以使用下面命令进行禁用:mysql -h127.0.0.1 -uroot -p123456 --ssl-mode=DISABLED
强制一个用户使用ssl
之后david用户就必须使用ssl登录了,否则报错如下:
取消一个用户强制使用ssl
x509认证在开启SSL的基础下,还强制指定用户必须使用client-cert.pem和client-key.pem证书、密钥文件来登录,否则登录不了。x509是mysql最高等级的认证机制。
之前已经在data根目录生成了8个 *.pem文件
把其中client-cert.pem和client-key.pem导出
如下,再使用之前的命令登录。发现登录不了了。
此时想要登录必须在客户端指定SSL CERT File和SSL Key File 如下在navicat中
在mysql workbench中
打开配置文件my-default.ini看到里面的basedir和datadir是没有打开的,前面有#,路径也是以“……”表示。
去掉basedir和datadir前面的#
basedir添加的是MySQL的解压路径;
datadir添加的是MySQL的data文件夹路径。
接下来就是配置环境变量,首先先把bin的地址复制:打开MySQL解压文件夹里面的bin文件夹,将鼠标点击到地址栏选中,复制地址(这样做的目的是防止打字出错,而且方便)。
把刚刚复制的bin路径添加的Path变量值,具体方法是:打开电脑桌面:计算机—右键—高级系统设置—高级—环境变量(N)—修改Path;就是将复制的地址栏粘贴到最后。(这里注意的是不同的路径之间用英文的“;”分开)确定,退出。
打开dos界面,具体方法是:在开始输入cmd.exe回车。
这一步很重要,初始化MySQL,需要进到MySQL解压目录下的bin文件:具体方法是:这里以F盘下的路径为例:
F:回车
F:cd phptools\MySQL\bin(回车)
F:\phptools\MySQL\binmysqld --initialize-insecure --user=mysql(回车,这一步就是初始化)
当出现Service successfully installed表示MySQL服务已经安装了,就差启动了。
启动MySQL在之前的F:\phptools\MySQL\bin输入:net start mysql;
出现:MySQL服务启动成功,表示这一次配置完毕。
接下来就是开启新版的MySQL之旅了,打开dos界面,输入mysql -u root -p然后回车,提示输入密码,如果没有密码就回车。
查看版本。至此MySQL5.7.10安装完毕。
1、解压MySQL压缩包
将下载的MySQL压缩包解压到自定义目录下,解压目录是:
"D:\Program Files\mysql-5.7.11-winx64"
将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini
复制下面的配置信息到 my.ini 保存
#如果没有my-default.ini,可新建my.ini或者从其他地方中获取
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
#解压目录
basedir=D:\Program Files\mysql-5.7.11-winx64
#解压目录下data目录
datadir=D:\Program Files\mysql-5.7.11-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\Program Files\mysql-5.7.11-winx64\bin\mysqld.exe
2、添加环境变量
操作如下:
1)右键单击我的电脑-属性-高级系统设置(高级)-环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\Program Files\mysql-5.7.11-winx64
#即为mysql的自定义解压目录。
2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:;%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值
3、 1)从控制台进入到MySQL解压目录下的 bin 目录下:
2)输入服务安装命令:
1. mysqld --console
2. mysqld --initialize
3. mysqld install
安装成功后会提示服务安装成功。
#注: #执行这几步,是因为在MySQL5.7.9中没有data文件夹,需要用这几个命令产生data文件夹
#移除服务命令为:mysqld remove
4、启动MySQL服务
方法一:
启动服务命令为:net start mysql
方法二:
打开管理工具 服务,找到MySQL服务。
通过右键选择启动或者直接点击左边的启动来启动服务。
5、修改 root 账号的密码
1. 修改MySQL的配置文件(my.ini),在[mysqld]下添加一行skip-grant-tables
2. mysql 重启后,即可直接用 mysql -u root -p 进入(此时密码为空)
3. mysql update mysql.user set authentication_string=password('123qaz') where user='root' and Host = 'localhost';
4. mysql flush privileges;
5. mysql quit;
6. 将/etc/my.cnf文件还原(删除skip-grant-tables这一行),重新启动 mysql
7. 这个时候可以使用 mysql -u root -p '123qaz' 进入了
8. mysqlSET PASSWORD = PASSWORD('123456'); 设置新密码