您的位置:首页 > 数据库 > MySQL

1.安装MySQL

2015-06-30 20:55 369 查看

linux中安装

shell> groupadd mysql

shell> useradd -g mysql mysql

shell> cd /usr/local

shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

shell> ln -s full-path-to-mysql-VERSION-OS mysql

shell> cd mysql

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root  .  文件的所有属性改为root用户

shell> chown -R mysql data   数据目录的所有属性改为mysql用户

shell> chgrp -R mysql .   组属性改为mysql组

shell> bin/mysqld_safe --user=mysql &  启动MySQL服务器

源码安装概述

shell> groupadd mysql

shell> useradd -g mysql mysql

shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -

shell> cd mysql-VERSION

shell> ./configure --prefix=/usr/local/mysql

shell> make

shell> make install

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> cd /usr/local/mysql

shell> bin/mysql_install_db --user=mysql

shell> chown -R root  .

shell> chown -R mysql var

shell> chgrp -R mysql .

shell> bin/mysqld_safe --user=mysql &

如果从一个源码RPM开始,那么执行如下命令:

shell> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm

</pre></h2><h2><span style="font-family:SimSun;">windows安装 创建选项文件(<span style="font-size: 13px;">m</span></span><span style="font-family: 黑体; font-size: 13px;">y.ini</span>)</h2><div><p style="font-family: Simsun;font-size:14px;">如果MySQL安装在<span style="font-family: 黑体;"><span style="font-size: 10pt;">E</span><span style="font-size: 10pt;">:\mysql,</span></span>数据目录安装在<span style="font-size: 10pt; font-family: 黑体;">E:\mydata\data</span>,你可以 创建含有<span style="font-size: 10pt; font-family: 黑体;">[mysqld]</span>部分的选项文件,指定<span style="font-size: 10pt; font-family: 黑体;">basedir</span>和<span style="font-size: 10pt; font-family: 黑体;">datadir</span>参数的值:</p><pre style="font-size: 10pt; font-family: 黑体; margin: 0cm 0cm 0.0001pt;">[mysqld]

# set basedir to your installation path

basedir=E:/mysql

# set datadir to the location of your data directory

datadir=E:/mydata/data


#########################################################
[client]
port=3306
default-character-set=utf8

[mysqld]
port=3306
character_set_server=utf8
basedir=D:\安装文件\mysql-5.6.24-win32
#解压目录
datadir=D:\安装文件\mysql-5.6.24-win32\data
#解压目录下data目录
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[WinMySQLAdmin]
D:\安装文件\mysql-5.6.24-win32\bin\mysqld.exe
#########################################################

安装mysql服务

mysqld --install MySQL --defaults-file=D:\安装文件\mysql-5.6.24-win32\配置文件

卸载服务mysqld --remove

将服务设置为手动启动模式使用--install-manual选项  mysqld --install-manual

启动mysql数据库

net start mysql 

初始MySQL账户安全

 用用户root 创建两个账户。这些账户为超用户账户,可以执行任何操作。初始root账户的密码为空,因此任何人可以用root账户不用任何密码来连接MySQL服务器,并具有所有权限。

o        在Windows中,一个root账户用来从本机连接MySQL服务器,另一个允许从任何主机连接。

o        在Unix中,两个root账户均用于从本机连接。必须从本机进行连接,一个账户主机名应指定为localhost,另一个账户为实际的主机名或IP号。
创建了两个匿名用户账户,每个账户的用户名均为空。匿名账户没有密码,因此任何人可以使用匿名账户来连接MySQL服务器。

o        在Windows中,一个匿名账户用来从本机进行连接。它具有所有权限,同root 账户一样。另一个可以从任何主机上连接,具有test数据库或其它以test开始的数据库的所有权限。

o        在Unix中,两个匿名账户均用于从本机连接。必须从本机进行连接,一个账户主机名应指定为localhost,另一个账户为实际的主机名或IP号。两个账户具有test数据库或其它以test开始的数据库的所有权限。

PASSWORD()函数为密码加密

在Windows中使用PASSWORD的方法:

shell> mysql -u root

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR ''@'%' = PASSWORD('newpwd');

在Unix中使用PASSWORD的方法:

shell> mysql -u root

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');

用服务器主机名替换第二个SET PASSWORD语句中的host_name。这是指定的user表中的root non-localhost记录的Host列名。如果你不知道是哪个主机名,在SET PASSWORD之前执行下面的语句:

mysql> SELECT Host, User FROM mysql.user;

查找在User列有root和在Host列没有localhost的记录。然后在第二个SET PASSWORD语句中使用该Host值。



为匿名账户指定密码的另一种方法是使用UPDATE直接修改用户表。用root连接服务器,运行UPDATE语句为相应user表记录的Password列指定一个值。在Windows和Unix中的过程是相同的。下面的UPDATE语句同时为两个匿名账户指定密码:

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')

    ->     WHERE User = '';

mysql> FLUSH PRIVILEGES;

在user表中直接使用UPDATE更新密码后,必须让服务器用FLUSH PRIVILEGES重新读授权表。否则,重新启动服务器前,不会使用更改。

如果你宁愿删除匿名账户,操作方法是:

shell> mysql -u root

mysql> DELETE FROM mysql.user WHERE User = '';

mysql> FLUSH PRIVILEGES;

在Windows中,如果你只想删掉具有与root相同权限的匿名账户,方法为:

shell> mysql -u root

mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';

mysql> FLUSH PRIVILEGES;

你可以用几种方法为root账户指定密码。以下介绍了三种方法:

 使用SET PASSWORD语句
 使用mysqladmin命令行客户端程序
使用UPDATE语句
在Windows中的语句:

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'%' = PASSWORD('newpwd');

在Unix中的语句:

shell> mysql -u root

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');

使用mysqladmin为root账户指定密码,执行下面的命令:

  shell> mysqladmin -u root password "newpwd"

  shell> mysqladmin -u root -h host_name password "newpwd"

UPDATE语句可以同时为两个root账户指定密码:

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')

    ->     WHERE User = 'root';

mysql> FLUSH PRIVILEGES;

将MySQL数据库拷贝到另一台机器

在两台机器之间移动数据库的最简单(尽管不是最快)的方法是在数据库所在的机器上运行下面的命令:

shell> mysqladmin -h 'other_hostname' create db_name

shell> mysqldump --opt db_name | mysql -h 'other_hostname' db_name

如果你想要从远程机器通过慢速网络复制数据库,可以使用:

shell> mysqladmin create db_name

shell> mysqldump -h 'other_hostname' --opt --compress db_name | mysql db_name

还可以将结果保存到文件中,然后将文件转移到目标机器上并将文件装载到数据库中。例如,可以在源机器上使用下面的命令将数据库备份到文件中:

shell> mysqldump --quick db_name | gzip > db_name.contents.gz

将含有数据库内容的文件到目标机上并运行命令:

shell> mysqladmin create db_name

shell> gunzip < db_name.contents.gz | mysql db_name

b1a5

还可以使用mysqldump和mysqlimport来转移数据库。对于大的表,比只是使用mysqldump要快得多。在下面的命令中,DUMPDIR代表用来保存mysqldump输出的目录全路径名。

首先,创建保存输出文件的目录并备份数据库:

shell> mkdir DUMPDIR

shell>mysqldump --tab=DUMPDIR db_name

然后将DUMPDIR目录中的文件转移到目标机上相应的目录中并将文件装载到MySQL:

shell> mysqladmin create db_name           # create database

shell> cat DUMPDIR/*.sql | mysql db_name   # create tables in database

shell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables

不要忘记复制MySQL数据库,因为授权表保存在该数据库中。你可能需要在新机器上用MySQL root用户运行命令,直到产生MySQL数据库。

将mysql数据库导入目标机器后,执行mysqladmin flush-privileges,以便服务器重载授权表信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: