msql在WIN,LINUX下的安装还有初步配置,忘记密码等问题

一、Mysql初步安装,环境配置

⑴.修改root密码

1.windows安装mysql-installer-community-5.6.19.0.msi,在安装过程中会有很多选项,选择自己适合的,当然仅选择了mysql server only。其他的worksbench等都没安装,那么可能会出现没有提示你输入mysql的root密码,此时可等待到mysql安装完毕后,进入开始-所有程序-mysql-mysqlServer下选择utf-8的命令行。

2.linux 安装则很简单直接输入命令:apt-get install mysql-server即可,输入密码。安装完成。

方法一、(第一次登录,但是安装时没有要求输入root密码)键入mysqladmin -u root -p password yourpassword输入这个命令后,需要输入root的原密码,然后root的密码将改为yourpassword。把命令里的root改为你的用户名,你就可以改你自己的密码了。
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的。
而且mysqladmin无法把密码清空。

方法二、(已知root密码,只是想更改的情况下 连接数据库:use mysql;
       mysql> use mysql;
  修改密码:update user set password=password("qweasd") where user="root";n
       mysql> update user set password=password("qweasd") where user="root";
  刷新权限(重要步骤)flush privileges;
       mysql> flush privileges;

方法三、(如果忘记mysql密码)

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:
1. KILL掉系统里的MySQL进程;
2. 在命令提示符下(CMD),进入到MYSQLBIN目录,用以下命令启动MySQL,以不检查权限的方式启动;
mysqld-nt --skip-grant-tables
3. 然后重新开打一个命令提示符的窗口(CMD)用空密码方式使用root用户登录 MySQL
mysql -u root
4. 修改root用户的密码;
mysql update mysql.user set password=PASSWORD('新密码') where User='root';
mysql flush privileges;mysql quit
5. 重新启动计算机,就可以使用新密码登录了。
破解本地Mysql密码Windows:
1.用系统管理员登陆系统。
2.停止MySQL的服务。
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin
4.跳过权限检查启动MySQL
c:\mysql\binmysqld-nt --skip-grant-tables
5.重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码
c:\mysql\binmysqladmin -u root flush-privileges password "newpassword"
c:\mysql\binmysqladmin -u root -p shutdown
newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6.停止MySQL Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。
Unix&Linux


1.root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
4.root@localhost设置新密码shellmysqladmin -u root flush-privileges password "newpassword"5.重启MySQL Server

 

 

⑵.赋予mysql 某用户 远程登录权限,并拥有所有mysql命令权限

通常Web项目是要让root用户可以远程登陆所以方法如下:

一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:

在本机先使用root用户登录mysql:

mysql -u root -p"yourpassword

进行授权操作:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

 

重载授权表:立即生效,否则重启mysql

FLUSH PRIVILEGES;

 

此时在linux系统中发现还是连不上主机的mysql,原因如下:

(在Linux系统中 还必须做如下操作。

打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0 或 注释掉
重启mysql : 

退出mysql数据库:

Exit

 

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

其中ON前面的 ALL PRIVILEGES ON指所有权限,root为所指定用户,@后跟ip%为通配符所有远程机。

 

⑶.修改mysql默认字符集

情况一:①.先使用 mysql> SHOW VARIABLES LIKE 'character%';查看当前字符集。

②.一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。

问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

SET NAMES 'utf8';  

它相当于下面的三句指令:

SET character_set_client = utf8;  

SET character_set_results = utf8;   

SET character_set_connection = utf8;

 

情况二:(在linux环境下系统的默认编码为utf-8,但是mysql的字符集是Italian)这时如果出现hibernate调用mysql存入数据库后为??,则需要修改/etc/mysql/my.cnf 

[client] 下追加

default-character-set=utf8

[mysqld] 下追加

character-set-server=utf8

[isamchk]下追加

default-character-set=utf8

 

 

⑷.如何转存Mysql 数据库文件?

方法一:使用navicat

①.首先导出mysql文件

使用navicat连接mysql,连接需要导出的数据库DataBase(导出首先得连接,否则导出的标签是灰色的。)

如果需要导出整个数据库,则右击数据库名出现如下所示:



 

选择“转储SQL文件”,这种方式会将数据库表中的属性,默认值,类型,以及表的记录都保存成一个类似mysql命令行的形式存储。

之后选择需要保存的文件路径和名称。像下载文件一样,点击保存即可。

②.导入SQL文件,即可以达到转存的目的。

第一步,先连接一个mysql,创建一个数据库,数据库名最好与原有的数据库名相同(仅仅转存数据库没问题,但转存就意味着项目等的配置文件没变,so no zuo no die

,创建好之后,连接数据库,右键数据库名,则可以看到如下所示:



 

点击“运行SQL文件”,找到刚刚保存的SQL文件,



 

同时可以修改字符集编码格式。点击开始后,sql命令就一样一样执行……稍等片刻。

转存就结束了,此时你会发现数据库中点表啥都没有。那是因为数据库还没有生效,

此时只要先断开与此数据库的连接之后,再次连接数据库数据库或者刷新即可。

 

猜你喜欢

转载自dreammoon.iteye.com/blog/2210712