centos7.0 阿里巴巴学生服务器搭配环境实录(3)--mysql环境搭建
2016-02-26 02:38
651 查看
喵唔,虽然我现在很困很累,但是我要坚持在医院把今晚的mysql搭建实录写下来,记录今晚的心酸屎
----------------------------------------------华丽的分割线------------------------------------------------------------------------
centos7搭建mysql环境
首先centos7 已经不支持mysql,内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package
CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
----------------------------------------------华丽的分割线------------------------------------------------------------------------
centos7搭建mysql环境
首先centos7 已经不支持mysql,内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package
rpm -qa | grep mariadb强制卸载
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm[/code]
安装mysql-community-release-el7-5.noarch.rpm包sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysqlsudo yum install mysql-server
这样就搞定啦,然后第一步要重置代码登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:sudo chown -R openscanner:openscanner /var/lib/mysql然后,重启服务:$ service mysqld restart接下来登录重置密码:$ mysql -u root mysql > use mysql; mysql > update user set password=password(‘123456‘) where user=‘root‘; mysql > exit;ps:这样我在做的时候没有成功,所以你可以再尝试下面的方法方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 mysqladmin -u root password oldpass "newpass" 方法3: 用UPDATE直接编辑user表 mysql -u root mysql> use mysql; mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root'; mysql> FLUSH PRIVILEGES; 在丢失root密码的时候,可以这样 mysqld_safe --skip-grant-tables& mysql -u root mysql mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root'; mysql> FLUSH PRIVILEGES;
然后重启如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart 提问 编辑摘要 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 1、使用 service 启动:service mysqld stop 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3、mysqladmin shutdown 三、重启 1、使用 service 启动:service mysqld restart 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart
然后接下来要解决乱码问题:mysql中文乱码问题
回到刚刚的问题,更新数据,数据中带中文,不成功,错误大概是这样的
MYSQL写入数据时报错ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for c
然后,我们要做的主要就是将mysql的编码都改为utf-8.这个问题,我之前在我的window的mysql下解决过,主要就是改my.ini文件,将latin1的都改为utf-8.
[plain] view
plain copy
[mysql]
default-character-set=utf8
还是从头说下,首先,要从终端进入mysql,或者在mysql weorkbench中,输入[show variables like 'character%'],
然后发现,database和server都是latin1,所以需要修改这两个为utf-8.输入命令[vi /etc/my.cnf],打开,发现我的my.cnf中的内容,比我看到的所有人提供的资料中的内容都要少.比如这篇文章中CentOS 6.5安装MySQL中文乱码问题解决 ,说
[plain] view
plain copy
[client]
default-character-set = utf8 #这个是我添加的
只有这一句是他添加的,可是我的my.cnf中根本没有[client],也没有[mysql],只有一个[mysqld].于是我根据这篇文章中的,CentOS7下让MySQL支持中文 内容修改,基本上全部拷贝他提供的,比如他在[mysql]中添加最后一句,我则是将这三句都拷过来.
[mysql]
no-auto-rehash
default-character-set=utf8
最后说明下我主要加了,这些东西,最后,大概是变成这样.对于mysqld,不仅改变了server的编码,并且还设置新建的表的存储引擎和排序规则.
[plain] view
plain copy
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
然后,在终端,输入【service mysql restart】,重启mysql服务.如果,此时终端在mysql中,输入【exit】,退出mysql.再输入【service mysql restart】,就可以了.PS,如果你的my.cnf改的有问题的话,【service mysql restart】会执行很长时间,表示不成功的.而没有问题的话,大概3-4秒中,重启就可以完成了.
然后再查看【show variables like 'character%'】,数据库编码就成功了,都是utf-8,除了filesystem,一直都是binaray,二进制外.
然后为了以防万一,重新建立数据库officialsystem,然后用命令【show create databse officialsytem】,看出数据库的编码,为utf8.
接下来,还是初始化一遍管理员的数据,和backstage的数据,通过界面更新backstage数据,成功.
接下来就是新建数据库和导入数据库了,这个就看你自己百度啦!linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思KO 搞定
---------------------------------------------------------------------------2016-04-26分割线------------------------------------------------------------------------------------------------------------
修改字符编码可以通过以下方式修改通过MySQL命令行修改:(编码可选) mysql> set character_set_client=utf8; mysql> set character_set_connection=utf8; mysql> set character_set_database=utf8; mysql> set character_set_results=utf8; mysql> set character_set_server=utf8; mysql> set character_set_system=utf8; mysql> set collation_connection=utf8; mysql> set collation_database=utf8; mysql> set collation_server=utf8;
相关文章推荐
- 浅谈《Linux就该这么学》
- 浅谈《Linux就该这么学》
- CentOS下NTP时间服务器的架设和Windows客户端的配置(三)Windows客户端配置
- Linux socket 本地进程间通信
- CentOS下NTP时间服务器的架设和Windows客户端的配置(二)Linux客户端配置
- linux下制作linux系统的安装U盘
- linux编译安装php7
- Linux精讲——文件查看命令
- selinux简介
- 如何在 Linux/Windows/MacOS 上使用 .NET 进行开发
- CentOS系统中安装MySQL和开启MySQL远程访问的方法
- centos 安装python3
- 浅谈《Linux就该这么学》
- #Linux的边边角角# 之 "EPERM"错误和setuid魔法
- linux静态库查看方法
- linux(ubuntu)2台互相ssh无密码访问
- 警告:检测到时钟错误。您的创建可能是不完整的。
- linux驱动之PWM(定时器)
- SUSE linux IP的两种配置方法
- CentOS下NTP时间服务器的架设和Windows客户端的配置(一)Linux服务器配置