已经找到“” 的记录1915条
centos5.6+nginx1.04+mysql5.5.14+php5.3.6(LNMP)一键安装脚本

centos5.6+nginx1.04+mysql5.5.14+php5.3.6一键安装脚本,文章后附有相关注解,并提供完整脚本文件下载,不容错过哦。

 

代码如下:

#!/bin/bash
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 gli
b2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-
devel nss_ldap openldap-clients openldap-servers

tar zxf lnmp.tar.gz ###软件包放在目录/usr/local/src

cd lnmp

tar zxf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure --prefix=/usr/local
make
make install
cd ../

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig

cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure && make && make install
cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure && make && make install
cd ../

tar zxf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
gmake
gmake install
cd ../

tar zxvf bison-2.5.tar.gz
cd bison-2.5
./configure && make && make install
cd ../

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxf mysql-5.5.14.tar.gz
cd mysql-5.5.14
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING
=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 
make && make install

cd /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
cp support-files/my-medium.cnf /etc/my.cnf
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
cp support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
/etc/init.d/mysqld stop

cd /usr/local/src/lnmp
tar zxf php-5.3.6.tar.gz
cd php-5.3.6
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-ico
nv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-safe-mode --enable-bcmat
h --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex  --enable-fpm  --enable-mbstring --with-mcrypt --with-g
d --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-production /usr/local/php/etc/php.ini
cd ../

tar zxf memcache-2.2.6.tgz
cd memcache-2.2.6
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../

unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
/usr/local/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
make && make install
cd ../

tar zxf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make && make install
cd ../

tar zxf ImageMagick-6.7.0-10.tar.gz
cd ImageMagick-6.7.0-10
./configure
make && make install
cd ../

tar zxf imagick-3.0.1.tgz
cd imagick-3.0.1
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

cd ../

sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"nextension = "memcache.so"nextension = "pdo_mysql.so"ne
xtension = "imagick.so"n#' /usr/local/php/etc/php.ini
sed -i 's#output_buffering = Off#output_buffering = On#' /usr/local/php/etc/php.ini

mkdir -p  /var/cache/eaccelerator_cache
chmod 777 /var/cache/eaccelerator_cache
cat >>/usr/local/php/etc/php.ini<<EOF
[eaccelerator]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"
eaccelerator.shm_size="128"
eaccelerator.cache_dir="/var/cache/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="300"
eaccelerator.shm_prune_period="120"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
EOF

mv  /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

sed -i 's/user = nobody/user = www/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/group = nobody/group = www/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/;pm.start_servers/pm.start_servers/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/;pm.min_spare_servers/pm.min_spare_servers/g' /usr/local/php/etc/php-fpm.conf

sed -i 's/;pm.max_spare_servers/pm.max_spare_servers/g' /usr/local/php/etc/php-fpm.conf
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www

unzip pcre-8.12.zip
cd pcre-8.12
./configure
make
make install
cd ../

tar zxf nginx-1.0.4.tar.gz
cd nginx-1.0.4
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

make
make install

mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak

cp /usr/local/src/software/nginx.conf /usr/local/nginx/conf
cd ../

/usr/local/nginx/sbin/nginx

/usr/local/php/sbin/php-fpm

注1:lnmp.tar.gz包含以下源码包:

复制代码代码如下:
bison-2.5.tar.gz
cmake-2.8.4.tar.gz
eaccelerator-0.9.6.1.zip
ImageMagick-6.7.0-10.tar.gz
imagick-3.0.1.tgz
libiconv-1.13.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
memcache-2.2.6.tgz
mhash-0.9.9.9.tar.gz
mysql-5.5.14.tar.gz
nginx-1.0.4.tar.gz
pcre-8.12.zip
PDO_MYSQL-1.0.2.tgz
php-5.3.6.tar.gz

nginx.conf ####配置以下内容
注2:简单配置 nginx.conf
 

复制代码代码如下:
user  www;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  192.168.179.130; ###根据实际情况修改访问地址
        location / {
            root   html;
            index  index.php index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ .php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
    }
}

注3:
在centos5.6(32位)上编译php的时候,出现错误提示:
configure:error:wrong mysql library version or lib not found

查看config.log, 主要的报错信息是:
“/usr/bin/ld: cannot find -lprobes_mysql”

解决方法:
在编译mysql的时候,把ENABLE_DTRACE设置为OFF(默认为ON),然后重新安装mysql和php。
ccmake . 进入图形配置界面,选中按回车键设置,配置好按c键完成,q键退出。
配图如下:

快米云ubuntu下mysql配置

IIS设置伪静态、IIS无扩展名重写设置

 

个符号将持续到安装完成后才停止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-4.0.23-0.i386.rpm
显示如下信息。
warning: MySQL-client-4.0.23-0.i386.rpm
signature: NOKEY, key ID 5072e1f5
Preparing...      ########################################### [100%]
1:MySQL-server    ########################################### [100%]
......(省略显示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
......(省略显示)
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State   
tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   
上面显示可以看出MySQL服务已经启动。

2)安装客户端
运行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-4.0.23-0.i386.rpm
warning: MySQL-client-4.0.23-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...    ########################################### [100%]
1:MySQL-client  ########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。

三、登录MySQL
登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于 初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)

其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

四、MySQL的几个重要目录
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)

五、修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。

2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

六、启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# sbin/chkconfig --list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# sbin/chkconfig --add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# sbin/chkconfig --del mysql

七、更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步: /usr/lib/mysql/data
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
/usr/bin/mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port   = 3306
#socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket  = /home/data/mysql/mysql.sock   (加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql    (注释此行)
datadir=/home/data/mysql   (加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。

八、MySQL的常用操作
注意:MySQL中每个命令后都要以分号;结尾。
1、显示数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql  |
| test   |
+----------+
2 rows in set (0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
2、显示数据库中的表
mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv  |
| db       |
| func      |
| host      |
| tables_priv   |
| user      |
+-----------------+
6 rows in set (0.01 sec)
3、显示数据表的结构:
describe 表名;
4、显示表中的记录:
select * from 表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
Select * from user;

5、建库:
create database 库名;
例如:创建一个名字位dfg的库
mysql> create databases dfg;
6、建表:
use 库名;
create table 表名 (字段设定列表);
例如:在刚创建的dfg库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use dfg;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;
+-------+---------+------+-----+---------+----------------+
| Field | Type  | Null | Key | Default | Extra     |
+-------+---------+------+-----+---------+----------------+
| id  | int(3) |   | PRI | NULL  | auto_increment |
| xm  | char(8) | YES |   | NULL  |        |
| xb  | char(2) | YES |   | NULL  |        |
| csny | date  | YES |   | NULL  |        |
+-------+---------+------+-----+---------+----------------+
7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
可用select命令来验证结果。
mysql> select * from name;
+----+------+------+------------+
| id | xm  | xb  | csny    |
+----+------+------+------------+
| 1 | 张三 | 男  | 1971-10-01 |
| 2 | 白云 | 女  | 1972-05-20 |
+----+------+------+------------+
8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';
9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm='张三';
10、删库和删表
drop database 库名;
drop table 表名

九、增加MySQL用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库dfg进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作dfg库。
mysql>grant select,insert,update,delete on dfg.* to user_2@localhost identified by "123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

十、备份与恢复
1、备份
例如:将上例创建的dfg库备份到文件back_dfg中
[root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)
[root@test1 mysql]# mysqldump -u root -p --opt dfg > back_dfg
2、恢复
[root@test mysql]# mysql -u root -p ccc < back_dfg

#---------------------------
在LINUX中安装 MySQL,可以在终端提示符后运行下列命令:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install php5-mysql
// 安装php5-mysql 是将php和mysql连接起来

一旦安装完成,MySQL 服务器应该自动启动。

您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行:
sudo netstat -tap | grep mysql
当您运行该命令时,您可以看到类似下面的行:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -

如果服务器不能正常运行,您可以通过下列命令启动它:
sudo /etc/init.d/mysql start  启动mysql

我们可以用以下命令去查看当前Mysql的状态
sudo service mysql status

进入mysql
$mysql -uroot -p 管理员密码

配置 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword

安装MySQL Administrator 图形界面
在新立得软件下搜索mysql找到
mysql-admin包,选择安装后就可以,在应用程序/编程就可以运行。
您也可以安装mysql 的图形化管理工具 sudo apt-get mysql-admin mysql-query-browser

#----------------------
配置 mysql,让它支持其它客户端访问,如果你不需要就不用修改。
登录到MySQL服务器端,在mysql库下执行增加用户操作:
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

GRANT ALL ON dbname.* TO test@'%' IDENTIFIED BY '123456'
此命令创建用户test,并给它赋予访问数据库dbname的不受限制的权限,且可以在任何机器上访问

grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';
如果要设置为任何客户端都可以以root连接的话,可以这么写:
grant all on *.* to 'root'@'%' identifiied by 'root的密码'

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;
第二个或者用下面:
mysql>update user set host="%" where host="192.168.1.1";

类似这用方法的整理如下:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

但问题仍没有解决:
找到 命令   mysql> flush privileges    //使修改生效
显示影响了零行。

问题依然没有解决,重新启动mysql 
sudo /etc/init.d/mysql restart
还是不行。

了解到mysql有本机绑定,找到问题所在。
查找文件
skip-networking
修改为
#skip-networking
保存并关闭文件。
编辑 /etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

将”bind-address = 127.0.0.1“注释
sudo /etc/init.d/mysql restart
或者
service mysqld restart
重启即可远程访问

Mysql卸载:
apt-get autoremove mysql-server
apt-get autoremove mysql-client

首先试试
apt-get --reinstall install mysql-server???
不行时而且mysql关联少时,可以apt-get remove --purge mysql-server???然后再安装,关联多不能删时,dpkg -S /etc/init.d/mysql找到对应的包,apt-get -d --reinstall install mysql-server??? 然后将对应的deb解开将mysql复制过去
dpkg -x /var/cache/apt/archives/mysql-server???.deb /tmp/foo
cp /tmp/foo/etc/init.d/mysql /etc/init.d
还不行的话,终极解决是将/var/lib/dpkg/info下对应的东东删掉,删除和重装相应的包了事,而不会影响系统的
+++++++++++++++++++++++++++++++++++++++++++++++++++
修改数据库默认字符集以及解决phpmyadmin和mysql中文乱码:
安装后的数据库编码默认是latin1,这个在编码下,存储中文时是会乱码的,所以在使用时还得把数据库的字符集改成支持中文的字符集,下面以utf-8为例,简单记录下修改字符集需要的操作:
1) 登录数据库后,使用命令show variables like 'character%' 可以查看数据库使用字符集的情况,下面是在没有修改前mysql的字符集设置:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |

2) 要把字符集换成utf-8的,我们只要修改/etc/mysql/下的配置文件my.cnf。
首先停止mysql服务[sudo /etc/init.d/mysql stop],然后在my.cnf中加入下面的配置段:

[client]
default-character-set = utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8

3) 完成上面的修改,保存后重启mysql
[sudo service mysql restart]
重新登录mysql后,在执行:show variables like 'character%'; 字符集应该是变成了utf8
phpmyadmin的连接校对选用:utf8_general_ci 默认即可。这样配置完毕中文乱码可以解决,也可以用phpmyadmin管理mysql数据库了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Mysql安装:
sudo apt-get install mysql-server
sudo apt-get install mysql-client

解决ASP.NET无法识别的配置节"connectionStrings"的错

在Window Server 2003上忙活了大半天,终于吧数据库啊,什么环境啊,项目部署啊,都搞好了..真不容易...

兴致勃勃得去访问,结果报了一个ASP.NET无法识别的配置节"connectionStrings"的错误...纳闷了半天...好端端的项目怎么一发布到服务器就出问题呢...

具体错误说明:

在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 无法识别的配置节“connectionStrings”源错误: 行 1: <configuration> 行 2: 行 3: <connectionStrings/> 行 4: ...... 源文件: web.config 行: 3 原因:用vs2005开发的asp.net应用程序需要使用.net framework 2.0,而在iis中的默认.net环境是1.1。这时将发生不可识别的节点的问题。

 

回想下...我好像应该少装了什么东东,对啦:.Net Framework好像还不是2.0的...于是乎,马上行动...

解决办法:将.net环境升级为2.0
"开始"-"运行" 在运行文本框中直接输入: C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i

问题迎刃而解...

解决网站访问提示mysql错误:Table XXX is marked as

mysql数据库损坏修复方法

 

打开【开始】--【运行】 输入cmd回车,在弹出的黑框里面视情况输入以下命令:

(Linux系统ssh登陆服务器直接执行)

1.修复单个数据库

mysqlcheck -r -u数据库用户名 -p密码  数据库名 

示例:
mysqlcheck -r -udemo -pdemo demo
2.修复服务器上所有数据库

mysqlcheck -A -o -r -p -uroot -p密码

示例:

mysqlcheck -A -o -r -p -uroot -pxxxx

3.自动检查优化分析表

mysqlcheck -Aao --auto-repair -uroot -p密码
4、mysql系统表损坏无法启动的情况下修复。

windows系统输入以下命令:

myisamchk -r -f D:\SOFT_PHP_PACKAGE\mysql\data\mysql\*.MYI 

Linux系统输入以下命令:

myisamchk -r -f /home/wddata/var/mysql/*.MYI

或者

myisamchk -r -f /home/wddata/var/*/*.MYI

注:若不是我司默认环境,路径更改为mysql实际存放路径。

2、phpmyadmin方式:

在服务器里面访问http://localhost/phpmyadmin/

MySQL使用存储过程批量更新数据库所有表某个字段值

最近响应群里朋友完整开源之前那个博客系统,准备重构一番项目的代码,对数据库中的表决定都添加 create_by、update_by、create_time、update_time、del_flag 等字段。

当时添加表的时候没有设置默认值,现在要对二三十张表某个字段,如对 del_flag 设置默认值为0,怎么做呢?一张表一张表地设置比较蠢,如何实现批量操作呢?比如查出所有的表名,然后来一个循环操作。是的,没错,可以使用存储过程。

下面是对 sens_blog 这个库的所有的表中的 del_flag 设置默认值的示例

 
  1. -- 如果存储过程存在就删除
  2. DROP PROCEDURE IF EXISTS updateColumn;
  3. CREATE PROCEDURE updateColumn()
  4. BEGIN
  5. -- 定义循环条件
  6. DECLARE flag INT DEFAULT 0;
  7. -- 保存表名
  8. DECLARE tname VARCHAR(50);
  9. -- 查询数据库sens_blog中含有del_flag列的表,如果区分大小写使用binary COLUMN_NAME = 'del_flag'
  10. DECLARE result CURSOR FOR SELECT TABLE_NAME FROM  INFORMATION_SCHEMA.Columns WHERE TABLE_SCHEMA = 'sens_blog' AND  COLUMN_NAME = 'del_flag';
  11. -- 退出循环
  12. DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET flag = 1;
  13. -- 打开游标
  14. OPEN result;
  15.     WHILE flag <> 1 DO
  16.     -- 游标指向下一个位置,可以有多个数据,比如FETCH result INTO tname,ttype,...;
  17.     FETCH result INTO tname;
  18.         -- 拼接字符串表名sql,根据需要使用CONCAT函数连接
  19.         -- 批量设置所有表的为del_flag字段0
  20.         -- SET @execSql = CONCAT('UPDATE ', tname, ' SET del_flag = 0'); 
  21.                 -- 批量设置所有表的为del_flag字段默认值为0
  22.                 SET @execSql = CONCAT('ALTER TABLE  ', tname, ' ALTER COLUMN del_flag SET DEFAULT  0');
  23.         PREPARE stmt FROM @execSql;
  24.         EXECUTE stmt;
  25.     END WHILE;
  26. END;
  27. -- 调用存储过程更新数据
  28. CALL updateColumn();

 

如果你想做其他的操作,只需要修改2

2行,改成你的SQL语句就行,当然数据库名和字段名也要改。

MySQL 安装原始安装方法

所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server 版本及对应的平台。

 

Linux/UNIX 上安装 MySQL

Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:

  • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
  • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
  • MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
  • MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
  • MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

安装前,我们可以检测系统是否自带安装 MySQL:

rpm -qa | grep mysql

如果你系统有安装,那可以选择进行卸载:

rpm -e mysql  // 普通删除模式 rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

安装 MySQL:

接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/

 

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
权限设置:

chown mysql:mysql -R /var/lib/mysql
初始化 MySQL:

mysqld --initialize
启动 MySQL:

systemctl start mysqld
查看 MySQL 运行状态:

systemctl status mysqld
注意:如果我们是第一次启动 mysql 服务,mysql 服务器首先会进行初始化的配置。

此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

yum install mariadb-server mariadb 
mariadb数据库的相关命令是:

systemctl start mariadb  #启动MariaDB
systemctl stop mariadb  #停止MariaDB
systemctl restart mariadb  #重启MariaDB
systemctl enable mariadb  #设置开机启动
验证 MySQL 安装
在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。

使用 mysqladmin 工具来获取服务器状态:

使用 mysqladmin 命令来检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录,在 Windows 上该二进制文件位于C:\mysql\bin 。

[root@host]# mysqladmin --version
linux上该命令将输出以下结果,该结果基于你的系统信息:

mysqladmin  Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386
如果以上命令执行后未输出任何信息,说明你的Mysql未安装成功。

使用 MySQL Client(Mysql客户端) 执行简单的SQL命令
你可以在 MySQL Client(Mysql客户端) 使用 mysql 命令连接到 MySQL 服务器上,默认情况下 MySQL 服务器的登录密码为空,所以本实例不需要输入密码。

命令如下:

[root@host]# mysql
以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
2 rows in set (0.13 sec)
Mysql安装后需要做的
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:

[root@host]# mysqladmin -u root password "new_password";
现在你可以通过以下命令来连接到Mysql服务器:

[root@host]# mysql -u root -p
Enter password:*******
注意:在输入密码时,密码是不会显示了,你正确输入即可。

Windows 上安装 MySQL
Windows 上安装 MySQL 相对来说会较为简单,最新版本可以在 MySQL 下载 中下载中查看(更详细安装:Windows 上安装 MySQL)。

 

下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.11 下。

接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

[client] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=C:\\web\\mysql-8.0.11 # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\\web\\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB

接下来我们来启动下 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录:

cd C:\web\mysql-8.0.11\bin

初始化数据库:

mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

... 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ ...

APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

输入以下安装命令:

mysqld install

启动输入以下命令即可:

net start mysql

注意: 在 5.7 需要初始化 data 目录:

cd C:\web\mysql-8.0.11\bin mysqld --initialize-insecure 

初始化后再运行 net start mysql 即可启动 mysql。


登录 MySQL

当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:

mysql -h 主机名 -u 用户名 -p

参数说明:

  • -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
  • -u : 登录的用户名;
  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:

mysql -u root -p

按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password:

若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。

然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。

 

 

登录MySQL数据库图文教程

MySQL 服务开启后,就可以通过客户端来登录 MySQL 数据库了。在 Windows 操作系统下可以使用 DOS 命令登录数据库,本节将介绍使用命令方式登录 MySQL 数据库的方法。

登录 MySQL 数据库的具体操作步骤如下:

步骤 1):单击“开始”→“Windows 系统”→“命令提示符”,如图所示。

步骤 2):打开命令行提示符界面,输入命令cd C:\Program Files\MySQL\MySQL Server 5.7\bin\,按回车键,如图所示。

步骤 3):在命令提示符界面可以通过登录命令mysql -h 127.0.0.1 -u root -p连接 MySQL 数据库。

按回车键,系统会提示输入密码(Enter password),这里输入配置向导中设置的密码,验证正确后,即可登录 MySQL 数据库,如图所示。

 

提示:mysql 为登录命令,-h 后面的参数是服务器的主机地址,在这里客户端和服务器在同一台机器上,所以输入 localhost 或者 IP 地址;-u 后面跟登录数据库的用户名称,在这里为 root;-p 后面是用户登录密码。

在 DOS 窗口下运行该命令后,系统会提示输入密码。密码输入正确以后,即可登录到 MySQL 数据库。

可以在 mysql 命令中直接加上密码,该命令为 mysql -h localhost -u root -proot。这里的 -p 后面的 root 就是密码。此处特别注意 -p 和密码之间没有空格。如果出现空格,系统将不会把后面的字符串当成密码来对待。

步骤 4):登录成功后进入 MySQL 初始界面,会出现“Welcome to the MySQL monitor”的欢迎语,然后下面还有一些说明性的语句,如图所示。

 

这些说明性语句介绍如下:

  • Commands end with; or\g:说明 mysql 命令行下的命令是以分号(;)或“\g”来结束的,遇到这个结束符就开始执行命令。
  • Your MySQL connection id is 3:id 表示 MySQL 数据库的连接次数。
  • Server version: 5. 7.29-log MySQL Community Server(GPL):Server version 后面说明数据库的版本,这个版本为 5.7.29。Community 表示该版本是社区版。
  • Type 'help;' or '\h' for help:表示输入”help;“或者”\h“可以看到帮助信息。
  • Type '\c' to clear the current input statement:表示遇到”\c“就清除前面的命令。

提示:当窗口中出现如上图所示的说明信息,命令提示符变为“mysql>”时,表明已经成功登录 MySQL 服务器,可以开始对数据库进行操作了。  

通过命令行客户端软件登录

当 MySQL 软件安装完后,一般都会安装一个简单命令行使用程序(MySQL Command Line Client),该客户端没有流行的用户界面。

选择”开始“→”程序“→”MySQL“→”MySQL 5.7 Command Line Client “,打开 MySQL Command Line Client 进入提示输入密码的界面,如图所示。

 

输入正确的密码后,登录到 MySQL 软件,如果以这种方式登录 MySQL,需要保证 MySQL 服务处于启动状态。

启动MySQL服务图文教程

验证 MySQL 成功安装后,用户需要启动 MySQL 数据库服务并登录。

下面介绍启动MySQL服务,具体操作步骤如下:

步骤 1):在桌面上右击“此电脑”→“管理”命令,如图所示。

步骤 2):弹出“计算机管理”对话框,双击“服务和应用程序”,用户可查看计算机的服务状态,MySQL 的状态为“正在运行”,表明该服务已经启动,如图所示。

注意:由于设置了 MySQL 为自动启动,在这里可以看到,服务已经启动,而且启动类型为自动。如果没有“正在运行”字样,说明 MySQL 服务未启动。可以直接在“计算机管理”窗口用菜单命令启动,也可以通过 DOS 命令启动 MySQL 服务。单击“开始”→“运行”,输入 cmd 命令,按回车键,弹出命令提示符界面,输入 net start mysql,按回车键,就能启动 MySQL 服务,停止服务的命令为 net stop mysql。

MySQL配置图文教程

配置 MySQL 数据库有两种比较常见的方式,分别是使用配置向导和手动更改,下面我们来分别介绍一下这两种方式

 

使用配置向导

步骤 1):MySQL 安装完成之后,进行配置信息的确认,单击 Next 按钮,如图所示。

 

步骤 2):进入 MySQL 网络类型配置窗口,采用默认设置,单击 Next 按钮,如图所示。

步骤 3):进入 MySQL 服务器类型配置窗口,采用默认设置,单击 Next 按钮,如图所示。

 

提示:服务器配置类型:Development Machine,安装的 MySQL 服务器作为开发机器的一部分,在三种可选的类型中,占用的内存最少;Server Machine,安装的 MySQL 服务器作为服务器机器的一部分,占用的内存在三种类型中居中;Dedicated MySQL Server Machine,安装专用 MySQL 数据库服务器,占用机器全部有效的内存。

步骤 4):进入设置服务器的密码窗口,重复输入两次登录密码,单击 Next 按钮,如图所示。

 

 

提示:系统默认的用户名为 root,如果想添加新用户,可以单击“Add User(添加用户)”按钮进行添加。

步骤 5):进入服务器名称窗口,设置服务器名称为 MySQL57,单击 Next 按钮,如图所示。

 

步骤 6):进入插件和版本配置窗口,选择默认配置,单击 Next 按钮,如图所示。

步骤 7):完成 MySQL 的各项配置,如图所示。

步骤 8):进入测试连接窗口,单击 Check 按钮,测试与服务器的连接,提示 Connection successful(连接成功),单击 Next 按钮,如图所

步骤 9):保存各项配置,单击 Finish 按钮,如图所示。

 

手工更改配置

打开 MySQL 安装中心,可以在不同的产品上单击 Reconfigure 链接,手动更改配置,如图所示。

 

Windows2008 R2加入域退出域操作图文教程

计算机加入域:
一、查看本机ip,然后ping 域ip,看两机是否相通

二、修改DNS为域服务器的IP(域服务搭建时自己会搭建DNS,所以写域服务器IP即可)

三、将计算机加入域第一步

四、输入域账户和密码即可加入成功,重启电脑即可生效


退出域:
其实退出域和加入域是一样的操作,右键计算机》》点击更改设置》》点击更改


输入域账户密码即可退出

成功退出!

客户热线:037125966675